Jas*_*rse 113 xml build visual-studio pdb-files
我有一个Visual Studio 2008 C#/ .NET 3.5项目,其中包含一个后期构建任务来压缩内容.但是我发现我还在输出目录(和ZIP)中获取引用的程序集'.pdb(debug)和.xml(文档)文件.
例如,如果MyProject.csproj引用YourAssembly.dll,并且在与DLL相同的目录中存在YourAssembly.xml和YourAssembly.pdb文件,它们将显示在我的输出目录(和ZIP)中.
我可以在ZIP'ing时排除*.pdb但我不能排除*.xml文件,因为我有相同扩展名的部署文件.
有没有办法阻止项目复制引用的程序集PDB和XML文件?
Jas*_*rse 147
我希望能够在主应用程序中添加和删除引用的程序集,同时避免需要维护我需要删除或排除的文件.
我通过Microsoft.Common.targets
寻找可行的东西挖掘并找到了AllowedReferenceRelatedFileExtensions
房产.它默认为.pdb; .xml
我在我的项目文件中明确定义它.问题是你需要一些东西(空白是不够的),否则它仍将使用默认值.
<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>
Run Code Online (Sandbox Code Playgroud)
mwj*_*son 62
您也可以通过命令行指定:
MsBuild.exe build.file /p:AllowedReferenceRelatedFileExtensions=none
Run Code Online (Sandbox Code Playgroud)
And*_*nZA 17
您可以添加类似于的Post Build事件命令 del "$(TargetDir)YourAssembly*.xml", "$(TargetDir)YourAssembly*.pdb"
前 2 个答案对我不起作用。我在此链接中找到了一个对我有用的解决方案。http://kitsula.com/Article/How-to-exclude-xml-doc-files-from-msbuild。
以防万一,上面的链接不起作用:
在解决方案资源管理器中卸载项目
右键单击该项目,然后单击“编辑 *.csproj”
在每个环境的 PropertyGroup 部分中添加下一行。
重新加载并重建项目。
<AllowedReferenceRelatedFileExtensions>
*.pdb;
*.xml
</AllowedReferenceRelatedFileExtensions>
Run Code Online (Sandbox Code Playgroud)
这是一个相当古老的问题,但由于没有关于如何通过UI关闭生成PDB和XML文件的答案,我认为它应该在这里是为了完整性.
在Visual Studio 2013中:在项目属性中的"编译"选项卡下,取消选中"生成XML文档文件",然后单击下面的"高级编译选项"并将"生成调试信息"更改为"无",这样就可以了.
归档时间: |
|
查看次数: |
28544 次 |
最近记录: |