MSBuild不构建PDB文件

时间:2014-06-27 21:22:40

标签: asp.net visual-studio-2012 msbuild

我有一个从VS2010转换到VS2012的解决方案。在发布版本中,我希望它生成PDB文件和完整的调试符号,因为我需要在生产环境中运行远程调试。

因此我将Debug Info设置为full以进行发布配置。我还确认以下内容在项目清单文件中:

<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimized>true</Optimized>

但是当我运行MSBuild时,它创建的包不包含PDB文件。但是,如果我在发布配置中使用Visual Studio的发布功能,我最终会在目标Web服务器上使用PDB文件。 Build命令可能有什么问题?

C:\Windows\Microsoft.NET\Framework\v4.0.30319\msbuild.exe "C:\MyWebApp.csproj"  
  /t:rebuild;package 
  /p:OutPath="C:\MyWebApp\obj" 
  /p:OutputPath="C:\MyWebApp\bin" 
  /p:Configuration=Release 
  /p:Platform=AnyCPU

我尝试关闭Optimized位,但这并没有帮助。

2 个答案:

答案 0 :(得分:6)

尝试添加

  

/ P:DebugSymbols =真

     

/ P:DEBUGTYPE =全

如果要发布Web应用程序,则还应添加:

  

/ P:ExcludeGeneratedDebugSymbol =假

答案 1 :(得分:3)

您可以从命令行直接访问此内容:

msbuild.exe "C:\\MyWebApp.csproj" /t:rebuild;package /p:OutPath="C:\\MyWebApp\\obj" /p:OutputPath="C:\\MyWebApp\\bin" /p:Configuration=Release /p:Platform=AnyCPU /p:DebugType=pdbonly