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

在构建解决方案时,如何让MSBuild任务生成XML文档?,xml,documentation,msbuild,solution,Xml,Documentation,Msbuild,Solution,我有很多项目的解决方案。每个项目都配置为在调试模式下生成XML文档文件(默认情况下)。当我在VisualStudio2008中构建时,它就起作用了。 在集成服务器上的构建脚本中,我建议MSBuild构建整个解决方案,但它不会生成文档文件。我能做什么 我已经尝试显式地为构建过程提供调试条件,但这没有任何区别 <Target Name="BuilSolution"> <MSBuild Projects="C:\Path\To\MySolution.sln" targets

我有很多项目的解决方案。每个项目都配置为在调试模式下生成XML文档文件(默认情况下)。当我在VisualStudio2008中构建时,它就起作用了。 在集成服务器上的构建脚本中,我建议MSBuild构建整个解决方案,但它不会生成文档文件。我能做什么

我已经尝试显式地为构建过程提供调试条件,但这没有任何区别

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

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


提前谢谢

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


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

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

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

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

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

...
$(OutputPath)MyAssembly.xml

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

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

谢谢你的回答,我试过了。不幸的是,它不起作用。它不会生成XML文档文件。您的配置似乎运行得很好。我在我的项目配置中有一些错误,这就是为什么它一开始就不起作用。谢谢!