【问题标题】:How do I get MSBuild Task to generate XML Documents when building a solution?构建解决方案时如何让 MSBuild 任务生成 XML 文档?
【发布时间】:2010-04-14 17:53:28
【问题描述】:

我有很多项目的解决方案。每个项目都配置为在调试模式(默认)下构建时生成 XML 文档文件。这在我在 Visual Studio 2008 中构建时有效。 在我的集成服务器上的构建脚本中,我建议 MSBuild 构建整个解决方案,但它不会生成文档文件。我能做什么?

我已经尝试将 Debug-Condition 显式地赋予构建过程,但这没有任何区别。

<Target Name="BuilSolution">
     <MSBuild Projects="C:\Path\To\MySolution.sln" targets="Build" Properties="SolutionConfigurationPlatforms='Debug|Any CPU'"/>
</Target>    

在构建单个项目时似乎有一些想法可以解决这个问题,但我负担不起,所以我需要一个提示才能这样做。

提前致谢!

【问题讨论】:

    标签: xml documentation msbuild solution


    【解决方案1】:

    在 VS 2010 中,您可以在 C# 项目属性中执行此操作,也可以在 .csproj 文件中定义 DocumentationFile 属性。例如:

    <PropertyGroup>
      ...
      <DocumentationFile>$(OutputPath)MyAssembly.xml</DocumentationFile>
    </PropertyGroup>
    

    $(MSBuildToolsPath)\Microsoft.CSharp.targets 中的 MSBuild 代码将以所定义的属性为条件 - 如果是,则将创建您的 XML 注释文件。

    【讨论】:

      【解决方案2】:

      我一直使用我的 CI 服务器执行此操作。只需按如下方式传递属性:

      Properties="Configuration=Debug;Platform=Any CPU"

      【讨论】:

      • 谢谢你的回答,我试过了。不幸的是,它也不起作用。它不会生成 XML 文档文件。
      • 看来您的配置运行良好。我的项目配置中有一些错误,这就是为什么它一开始就不起作用的原因。非常感谢!
      【解决方案3】:

      每个配置的项目属性都不同。在您的项目属性中,您仅为调试配置启用了 XML 文档。切换到发布配置并为该配置启用它。

      【讨论】:

        【解决方案4】:

        猜测 - 我能看到的唯一可能有帮助的是在构建脚本中设置 GenerateDocumentation 参数。

        引用一点 MSDN(引用 .NET 4,所以我不确定这是否适用): 生成文档 一个布尔参数,指示文档是否由构建生成。如果为 true,则构建会生成文档信息并将其与构建任务创建的可执行文件或库的名称一起放入 .xml 文件中。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2010-12-11
          • 2012-12-16
          • 1970-01-01
          • 1970-01-01
          • 2011-09-09
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多