在Azure Web角色上部署PDB文件

18

我有一个项目通过VS 2012 Azure项目部署(在VS中直接操作,而不是手动部署)。Web角色项目在发布模式下设置为仅生成"PDB-only"调试信息,但在部署时,PDBs未被打包并复制到Azure上的Web角色VM。如何使PDBs被打包并传输到服务器?

我希望在生产环境中包含我的PDBs,因为我想在我的ELMAH报告中获取行号信息。

1个回答

27
我使用基本的“文件、新云项目”进行了测试,并使用以下设置:

  1. Web 项目 -> 属性 -> 构建 -> 高级 -> 调试信息: pdb-only
  2. Web 项目 -> 属性 -> 包/发布 Web -> 取消选中 排除生成的调试符号

当我使用这两个设置编译和部署一个基本解决方案时,我在 F:\AppRoot\Bin\ 文件夹中找到了 WebRole1.dllWebRole1.pdb

这符合您的要求吗?


哇,谢谢。我忽略了发布选项卡,因为我个人不使用它(Azure自动使用它)。这可能是你赚取的最简单的奖励 :) - pbristow
1
当设置为Git/TFS发布时,这也适用。您可以检查部署日志以获取诸如“复制文件:'bin\MyAssembly.pdb'”之类的消息。 - Scott Wegner
1
+1000 这对于 Azure Web Sites (WAWS) 也适用。最终有了带有行号的体面 ysod 错误消息! - Kijana Woodard
(五年后的跟进……)请确保在您的csproj文件中Exclude generated debug symbols实际上设置为false。在Azure应用程序洞察中,没有条目对我不起作用。我检查了然后取消选中框以查看csproj文件中的更改。然后我才能在应用程序洞察中看到行号。更多信息:https://github.com/Azure/azure-webjobs-sdk/issues/1259#issuecomment-319241108 - Kijana Woodard

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