xml - 防止将引用的程序集 PDB 和 XML 文件复制到输出

我有一个 Visual Studio 2008 C#/.NET 3.5 项目,其中包含一个用于压缩内容的后期构建任务。但是,我发现我还在输出目录(和 ZIP)中获取了引用程序集的 .pdb(调试)和 .xml(文档)文件。

例如,如果 MyProject.csproj 引用 YourAssembly.dll 并且在与 DLL 相同的目录中存在 YourAssembly.xml 和 YourAssembly.pdb 文件,它们将显示在我的输出目录(和 ZIP)中。

我可以在压缩时排除 *.pdb,但我不能完全排除 *.xml 文件,因为我有具有相同扩展名的部署文件。

有没有办法防止项目复制引用的程序集 PDB 和 XML 文件?

最佳答案

我希望能够在我的主应用程序中添加和删除引用的程序集,同时避免需要维护我需要删除或排除的文件。

我翻遍了 Microsoft.Common.targets 寻找可行的方法并找到了 AllowedReferenceRelatedFileExtensions 属性。默认为 .pdb; .xml 所以我在我的项目文件中明确定义了它。问题是你需要 something (空白是不够的)否则它仍然会使用默认值。

<Project ...>
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
    ...
    <AllowedReferenceRelatedFileExtensions>
      <!-- Prevent default XML and PDB files copied to output in RELEASE. 
           Only *.allowedextension files will be included, which doesn't exist in my case.
       -->
      .allowedextension
    </AllowedReferenceRelatedFileExtensions> 
  </PropertyGroup>

https://stackoverflow.com/questions/2011434/

相关文章:

xcode - 无法附加到进程 ID Xcode

shell - 在 Jenkins 中,Execute Shell 如何/何时将构建标记为失败?

c# - 我应该使用调试信息编译发布版本 "full"或 "pdb-only"吗?

build - 编译代码和可执行代码有什么区别?

build - 什么是构建工具?

android - 任务 'app:mergeDebugResources' Crunching C

angular - node_modules/rxjs/internal/types.d.ts(81

java - leiningen - 如何为本地 jar 添加依赖项?

build - 去构建 : "Cannot find package" (even though G

windows-7 - 如何解决 Nant 0.91 的配置错误?