【问题标题】:How to exclude xml doc files from msbuild如何从 msbuild 中排除 xml doc 文件
【发布时间】:2020-01-19 15:52:37
【问题描述】:

我在我的 C# 项目中使用了许多第三方程序集。其中许多包含我相信给我智能感知的 xml 文档文件?无论如何,当我构建我的项目时,这些 xml 文件最终会出现在 bin 文件夹中。有什么方法可以排除它们,以免它们与我的应用程序一起部署(除了从我引用程序集的位置删除它们)?

这个问题一直困扰着我,但从来没有足够的追求。现在,我的部署文件夹中似乎有 4MB 的 XML 文件,这让我很烦恼,无法寻求解决方案。

【问题讨论】:

标签: xml msbuild


【解决方案1】:

您也可以通过命令行指定:

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

      如果您使用的是 Visual Studio,请选择文件的属性并选择“复制到输出目录”=“不复制”

      【讨论】:

      • 但该文件不是我项目的一部分。它与我的项目引用的第 3 方程序集(例如 log4net)位于同一文件夹中。 VS2010 和 MSBuild 似乎认为我希望它与我的应用程序一起部署,不知道为什么。
      • 您是否使用 Visual Studio 默认值进行构建?还是其他一些工具(TeamCity、TeamBuild 等)?您是打包部署还是只是构建?
      • 我正在使用 msbuild 或 VS 2010 UI。构建和打包都包含 xml 文件。似乎 msbuild 管道中的任何进程决定了哪些文件“属于”已部署的二进制文件是罪魁祸首。
      猜你喜欢
      • 2014-10-20
      • 1970-01-01
      • 2018-09-23
      • 2011-09-15
      • 1970-01-01
      • 2018-07-19
      • 2017-05-31
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多