如何在MSBuild中排除XML文档文件

21

我在我的C#项目中使用了许多第三方程序集。其中许多包括了XML文档文件,我相信这些文件可以让我使用Intellisense?无论如何,在构建我的项目时,这些xml文件会出现在bin文件夹中。有没有办法将它们排除在外,这样它们就不会随着我的应用程序部署(除了从引用程序集的位置中删除它们之外)?

这个问题总是困扰着我,但从未足够让我去解决它。现在,似乎我的部署文件夹中有4MB大小的XML文件,这足以让我寻求一个解决方案。


2
可能是重复的问题:防止引用程序集的 PDB 和 XML 文件被复制到输出目录 - ShawnFeatherly
3个回答

31

你也可以通过命令行来指定:

MsBuild.exe build.file /p:AllowedReferenceRelatedFileExtensions=none

15
您可以在记事本中编辑您的csproj文件,并在所需配置的 <PropertyGroup > 中添加部分 <AllowedReferenceRelatedFileExtensions > (我没有在Visual Studio csproj属性窗口中实现它...)。 例如,如果您在此部分中添加.pdb,则只会将.pdb文件复制到bin文件夹中。 我将其设置为.none,以便在我的部署中只有程序集。

-4
如果您正在使用Visual Studio,請選擇文件的屬性,然後選擇“複製到輸出目錄”=“不要複製”。

1
但是这个文件不是我的项目的一部分。它与我项目引用的第三方程序集(如log4net)位于同一个文件夹中。VS2010和MSBuild似乎认为我想将它与我的应用程序一起部署,不确定为什么。 - BrettRobi
你是使用Visual Studio默认设置构建的吗?还是使用其他工具(如TeamCity,TeamBuild等)?你是为部署打包,还是只是构建? - Taylor Bird
我正在使用msbuild或VS 2010 UI。构建和打包都包括xml文件。似乎在msbuild管道中决定哪些文件与部署的二进制文件“相关”的任何过程都是罪魁祸首。 - BrettRobi

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接