如何在发布模式构建中阻止XML文档文件的副本?

Hum*_*rto 80 msbuild visual-studio

我有一个Visual Studio 2010项目,它引用了一些第三方组件.它们的程序集附带了XML文档文件,这对我们(也是唯一的我们)开发人员很有用.无论何时构建项目(在调试或发布模式下),这些XML文件都将复制到构建目录中.

我似乎找不到设置或开关来禁用这些XML文件的副本到构建目录,无论是在Visual Studio中还是通过MSBuild.构建后的脚本可能是一个选项,但却是一个有臭味的选项.有任何想法吗?谢谢.

Say*_*imi 110

构建项目时,将通过ResolveAssemblyReference任务收集.xml/.pdb文件.调用ResolveAssemblyReference时,会传递相关文件的文件扩展名列表.该文件扩展名列表在MSBuild属性AllowedReferenceRelatedFileExtensions中捕获.默认情况下,该列表将包含".pdb; .xml".

如果要排除所有相关的引用文件,那么只需将属性的值覆盖到相关文件不具有扩展名的内容.例如,您可以将AllowedReferenceRelatedFileExtensions设置为" - ".

您还可以自定义由其返回的文件列表.如果您只想查找.pdb文件,则需要传入AllowedReferenceRelatedFileExtensions=".pdb".在这种情况下,任何在.dll/.exe旁边都有.pdb文件的引用也会被复制.您还可以使用它来复制可能不以.pdb/.xml结尾的其他相关文件.例如,如果您有一个名为MyAssembly.dll的引用程序集,并且在同一文件夹中存在MyAssembly.pdb和MyAssembly.foo如果设置,AllowedReferenceRelatedFileExtensions=".pdb;.foo"那么.pdb和.foo文件都将被复制到输出目录.

  • 有趣的是花了2年才得到答案. (12认同)
  • _how_上的细节在msbuild命令行或项目文件中指定:http://stackoverflow.com/questions/2011434/preventing-referenced-assembly-pdb-and-xml-files-copied-to-output (6认同)
  • 在Visual Studio中我们可以更改`AllowedReferenceRelatedFileExtensions`吗? (3认同)
  • 如果能在这里得到更多指导就太好了。但这篇文章让我自己做了更多的研究,以找出如何进入这个神奇的“AllowedReferenceRelatedFileExtensions”设置,并在我看来找到了更好的建议。http://stackoverflow.com/a/2012506/1039753 (2认同)