我有一个从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
位,但这并没有帮助。
答案 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