2010-04-17 46 views

Trả lời

1

Không có cách nào tiến thẳng về việc này. Thông thường trong MSBuild rất khó để biết được thứ tự thực tế của các mục tiêu, chỉ theo thứ tự tương đối. Bạn đang cố gắng làm gì với mục tiêu này?

+1

Dưới đây là những gì tôi đang cố gắng để làm: sửa đổi AssemblyVersion, làm tất cả những tòa nhà, và như là một AssemblyVersion bước Revert cuối cùng để nó là cái gì. Có vẻ như không phải là một cách tốt đẹp để làm điều này. –

+0

romkyns: Tôi đang làm điều tương tự. Cách để làm điều đó là ghi đè lên mục tiêu 'CoreBuild' trong tệp csproj của riêng bạn, với một thuộc tính' OnError' bổ sung để xác định rằng mục tiêu 'AfterBuild' sẽ được chạy nếu build không thành công. Bằng cách đó, mục tiêu 'AfterBuild' sẽ chạy trên mọi bản dựng, bất kể thành công hay thất bại. Xem http://stackoverflow.com/a/5169881/278185 để biết thông tin về việc ghi đè mục tiêu 'CoreBuild'. – Dave

2

Có thể nếu bạn gói mọi thứ vào một mục tiêu cấp cao nhất bằng một hoặc nhiều Mục tiêu cuộc gọi, thì bạn có thể sử dụng nhiệm vụ <OnError .../> để chạy mục tiêu cuối cùng?

<Target Name="CompleteBuild"> 
    <CallTarget Targets="Target1"/> 
    <CallTarget Targets="Target2"/> 
    <CallTarget Targets="FinalTarget"/> 

    <OnError ExecuteTargets="FinalTarget"/> 
</Target> 
Các vấn đề liên quan