1
我的自定义MSBuild任务在实际构建之前和之后执行一些步骤。构建之后的步骤始终执行以清理某些文件是非常重要的。我现在有定义的两个目标:始终执行构建失败后运行MSBuild目标
<Target Name="NrtPatchAssemblyInfo" BeforeTargets="BeforeBuild">
和
<Target Name="NrtRestoreAssemblyInfo" AfterTargets="AfterBuild">
第一个,但第二只成功的建后运行。如果编译器生成失败,例如由于代码文件中的语法错误,则不运行第二个目标。
我能做些什么来改变这种情况,并始终执行第二项任务?
我找不到MSBuild通常使用的目标名称列表。这些名称只是从其他来源复制而来。
当一个失败时没有更多的目标?那么我该如何做清理工作或任何错误后需要完成的工作呢?复制Visual Studio基础结构不是我的选择(但)。 – ygoe
您也可以删除需要清理工作:更容易修复imo。制作你想要修补程序集信息的任何文件的副本,将其复制到中间目录等等,然后在构建中使用该副本。如果副本的更改没有得到恢复,则无关紧要。 – stijn
我终于回到了这个话题。我已将工具更改为不修补和恢复文件,但将修改后的文件保存为obj \,并使用该文件(包括)而不是原始文件(删除)。 – ygoe