在构建解决方案时,如何让MSBuild Task生成XML文档?

时间:2010-04-14 17:53:28

标签: xml documentation msbuild solution

我有很多项目的解决方案。每个项目都配置为在调试模式下构建时生成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>    

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

提前致谢!

4 个答案:

答案 0 :(得分:6)

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

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

$(MSBuildToolsPath)\Microsoft.CSharp.targets中的MSBuild代码将对正在定义的属性进行调整 - 如果是,则将创建XML注释文件。

答案 1 :(得分:3)

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

Properties =“Configuration = Debug; Platform = Any CPU”

答案 2 :(得分:3)

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

答案 3 :(得分:0)

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

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