&引用;最后";MSBuild的目标
是否有一种方法可以在运行所有其他目标之后运行某个目标,而不管其成功或失败&引用;最后";MSBuild的目标,msbuild,Msbuild,是否有一种方法可以在运行所有其他目标之后运行某个目标,而不管其成功或失败 是相关的,但只涉及一小部分目标。我需要一个包含几十个子版本的完整包。没有直接的方法可以做到这一点。通常在MSBuild中,很难知道目标的实际顺序,只能知道相对顺序。您打算如何处理此目标?如果您使用一个或多个CallTargets将内容包装到顶级目标中,那么您可以使用任务来运行最终目标 <Target Name="CompleteBuild"> <CallTarget Targets="Target1"
是相关的,但只涉及一小部分目标。我需要一个包含几十个子版本的完整包。没有直接的方法可以做到这一点。通常在MSBuild中,很难知道目标的实际顺序,只能知道相对顺序。您打算如何处理此目标?如果您使用一个或多个CallTargets将内容包装到顶级目标中,那么您可以使用
任务来运行最终目标
<Target Name="CompleteBuild">
<CallTarget Targets="Target1"/>
<CallTarget Targets="Target2"/>
<CallTarget Targets="FinalTarget"/>
<OnError ExecuteTargets="FinalTarget"/>
</Target>
下面是我要做的:修改AssemblyVersion,完成所有构建,最后一步是将AssemblyVersion恢复到原来的状态。这似乎不是一个好办法。隆金:我也在做同样的事情。方法是在您自己的csproj文件中覆盖CoreBuild
目标,使用一个额外的OnError
属性指定如果构建失败,应该运行AfterBuild
目标。这样,无论成功与否,AfterBuild
目标都将在每个构建上运行。有关覆盖CoreBuild
目标的信息,请参阅。