【问题标题】:msbuild not working properly with tfs 2010 and importet Microsoft.TeamFoundation.Build.targetsmsbuild 无法与 tfs 2010 和 importet Microsoft.TeamFoundation.Build.targets 一起正常工作
【发布时间】:2012-04-19 11:24:47
【问题描述】:

我一直在扩展我的 msbuild 项目文件和 tfs 2010。我想要实现的是在构建后自动为我的源代码生成文档。我在网上搜索并发现文件 Microsoft.TeamFoundation.Build.targets 为桌面或团队构建定义了许多可定制的目标。其中之一是我想使用的GenerateDocumentation-Target。我遇到的问题是,尽管我导入了这个文件,但 msbuild 并没有调用重载的目标。我的 vcxproj-File 的标题如下所示:

<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">

在此之后,我在声明中包含团队构建目标文件

<Import Project="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\TeamBuild\Microsoft.TeamFoundation.Build.targets"/>

在这个项目文件的最后,我尝试按照 TeamFoundation 目标文件中的建议重载一些目标:

<Target Name="GenerateDocumentation">
     <Message Text="GenerateDocumentation invoked" Importance="high"/>
</Target>

<Target Name="BeforeBuild">
    <Message Text="BeforeBuild invoked" Importance="high" />
</Target>

<Target Name="AfterBuild">
    <Message Text="AfterBuild invoked" Importance="high" />
</Target>

但除了AfterBuild-Target 之外,既不会调用GenerateDocumentation 也不会调用BeforeBuild 目标来进行本地构建,也不会调用构建服务器的构建。我错过了什么吗? DefaultTarget="Build" 正确吗?我尝试将其更改为DefaultTarget="DesktopBuild",但随后调用msbuild 导致出现各种错误(MSB4018)。在项目文件中,目标文件$(VCTargetsPath)\Microsoft.Cpp.targets 也被导入。删除此导入时,会调用 GenerateDocumentation 目标,但不会调用其他目标(包括我也需要的 ResourceCompile)。我可以同时使用它们吗?

提前谢谢...

【问题讨论】:

    标签: visual-studio tfs msbuild tfsbuild targets


    【解决方案1】:

    在构建任务结束时添加这个怎么样...

        <CallTarget Targets="GenerateDocumentation"></CallTarget>
      </Target>   
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-10-24
      • 2020-10-25
      • 1970-01-01
      • 2017-12-14
      • 2020-08-19
      • 2013-02-06
      • 2019-02-02
      相关资源
      最近更新 更多