MSBuild目标BeforeBuild未执行

Pau*_*els 4 msbuild tfs2008 build-script

我似乎有一种情况,我放入BeforeBuild目标的代码没有成功执行.

这是我有的:

<Target Name="BeforeBuild" >
    <Message Text="Before Build" />
</Target>
Run Code Online (Sandbox Code Playgroud)

构建运行时,我无法在构建日志中看到消息输出.我格式化它的方式有问题,还是必须在脚本中的特定位置?我是否正在寻找这些消息的正确位置?

编辑:将重要性改为高似乎没有任何区别

小智 5

请参阅此问题的答案 MS-Build BeforeBuild未触发

您只需要移动BeforeBuild目标,使其出现在导入Microsoft.CSharp.targets的行之后.


Les*_*icz 0

您需要正确覆盖 Before 构建目标。最简单的方法是在标记之前插入覆盖,或将此任务声明为 DefaultTargets。

<Project DefaultTargets="DesktopBuild" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="3.5">
    <!-- Override TFS build targets and run custom made ones -->
  <Target Name="BeforeCompile" DependsOnTargets="VersionAssemblies"></Target>
  <Target Name="AfterCompile" DependsOnTargets="GetTime;RunTests;CreateHTMLReport;Mail"></Target>
  <Target Name="AfterDropBuild" DependsOnTargets="RemovePrevContent;CopySrcBinaries;ZipBinPackages;CopyAllContent;RemoveBindings"></Target>

</Project>
Run Code Online (Sandbox Code Playgroud)