禁用MsBuild生成PDB文件

86

我想让我的构建过程更快,不知道是否可以指示 msbuild 不生成 PDB 文件。我尝试传递 Configuration=ReleaseDebugSymbols=false 属性,但没有成功。

1个回答

142

你的发布配置中可能有PDB生成。请在您的发布设置中添加以下内容:

<DebugSymbols>false</DebugSymbols>
<DebugType>None</DebugType>

在Visual Studio的项目配置中,您也可以这样做。禁用PDB生成

另外,如果从命令行运行MSBuild,则命令行参数将是

MSBuild.exe YourProject.csproj /p:DebugSymbols=false /p:DebugType=None

12
我发现MSBuild版本只需使用"/p:DebugType=None"(即不生成pdb文件),无需再加上"/p:DebugSymbols=false"。两者同时使用是否有优势? - Dan W
2
看起来这两个参数做的事情是一样的,所以你只需要其中一个。更多信息可以在https://msdn.microsoft.com/en-us/library/bb629394.aspx找到。 - sfarbota
将其放入项目文件中意味着它保证始终被禁用,因此如果您在没有任何批处理文件等的情况下分发项目,则这是最好的方法。 - rollsch
7
在使用适用于.NET Core的Microsoft (R)-Build-Engine,版本为15.8.166+gd4e8d81a88时,设置/p:DebugSymbols=false没有任何效果。我必须使用/p:DebugType=None - Good Night Nerd Pride
2
不适用于WinForms项目。 pdbs仍然被添加。 - manymanymore

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