【问题标题】:Visual Studio 2013 Website Publish Not Copying .pdb filesVisual Studio 2013 网站发布不复制 .pdb 文件
【发布时间】:2015-03-12 12:08:29
【问题描述】:

我已经检查了 VS 2012 的答案,它没有用。我没有预编译,我将 "Debug Info" 设置为 "full""Items to deploy" 设置为 "Only运行此应用程序所需的文件”和“排除生成的调试符号”未标记。

我已经用 “此项目中的所有文件” 进行了测试,并尝试编辑 pubxml 文件。除了不工作,我找不到文件架构文档。

请帮忙。

【问题讨论】:

  • 您是否有理由复制调试存储文件(*.pdb 文件)?通常,当您发布网站时,您会发布到实时环境。
  • 主要原因是允许远程调试,我们与消费者的关系非常密切,所以我们不太关心源代码保护。
  • 另一个原因可能是发生异常时调用堆栈中有行号。见:stackoverflow.com/q/1307482/108374
  • 实际上,PDB 仅包含源文件名/行号和局部变量名……实际信息已经在您提供的 DLL 中。例如,尝试使用 dotPeek 从 DLL 生成一个完整的项目。

标签: visual-studio-2013 release pdb-files


【解决方案1】:

经过大量测试,我注意到在发布过程中,“排除生成的调试符号”闪烁为标记。我的错误是我正在编辑 Active 配置 -- 这是 Debug -- 而不是 Release 配置在我的发布过程中使用。

请验证项目属性页面上的配置组合,这很奇怪,直到我注意到这一点。

【讨论】:

  • 我从解决方案中排除了 bin 文件夹。然后,我就可以发布了。
【解决方案2】:

Advanced Precompile Settings 对话框中有一个选项(默认关闭);您可以通过Publish Web 向导的Settings 选项卡找到此对话框...注意File Publish Options-下拉列表中的(不明显的)Configure-链接...

【讨论】:

  • 我没有预编译,我做了,有趣的是得到了 App_Code.pdb 和 App_global.asax.pdb 但我所有其他的 pdb 都没有被复制。
【解决方案3】:

我已经搜索过这个并尝试了发布的所有技巧,但没有任何效果。

唯一对我有用的事情是复制 bin 文件夹,然后从 bin 文件夹中删除所有文件并重建。 发布时,我收到了备份文件夹中缺少 .dll 的新错误。当我将它复制到 bin 文件夹时,我终于能够发布了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-04-29
    • 1970-01-01
    • 2015-02-03
    • 1970-01-01
    • 2015-01-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多