2010-04-17 5 views

답변

1

이렇게하는 방법은 없습니다. 일반적으로 MSBuild에서는 대상의 실제 순서를 알기가 쉽지 않으며 상대 순서 만 알 수 있습니다. 이 목표로 무엇을하려합니까?

+1

다음은 내가하고있는 일입니다. AssemblyVersion을 수정하고 모든 건물을 수행하며 마지막 단계에서 AssemblyVersion을 원래대로 되 돌리십시오. 이렇게하는 좋은 방법이없는 것 같습니다. –

+0

romkyns : 나는 똑같은 일을하고있다. 그것을하는 방법은 자신의 csproj 파일에서'CoreBuild' 타겟을 오버라이드하고 빌드가 실패 할 경우'AfterBuild' 타겟을 실행하도록 지정하는 추가'OnError' 속성을 사용하는 것입니다. 그렇게하면, AfterBuild 타겟은 성공이나 실패에 상관없이 모든 빌드에서 실행됩니다. 'CoreBuild' 타겟을 오버라이드하는 것에 대한 정보는 http://stackoverflow.com/a/5169881/278185를 참조하십시오. – Dave

2

하나 이상의 CallTargets를 사용하여 최상위 타겟에서 랩핑 한 경우 <OnError .../> 작업을 사용하여 최종 타겟을 실행할 수 있습니까?

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

    <OnError ExecuteTargets="FinalTarget"/> 
</Target>