【问题标题】:How do I prevent Visual Studio from loading a PDB from Temporary ASP.NET Files如何防止 Visual Studio 从临时 ASP.NET 文件加载 PDB
【发布时间】:2023-04-01 00:48:02
【问题描述】:

我正在开发 Visual Studio 2015 Professional 中的多项目解决方案,其中包括一些库和一个供多个开发人员使用的系统上的 ASP.NET Web MVC 应用程序。

问题 当我设置断点并运行带有调试功能的 Web 应用程序时,IISExpress 启动,但断点被禁用并显示以下消息。

当我检查“模块”窗口时,它显示已从该位置 C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files 下的各个文件夹中为解决方案中的所有项目加载符号

我的尝试

  • 干净的解决方案 > 重建 > 调试
  • 手动删除所有binobj文件夹>重建>调试
  • 将符号配置为不自动加载,并在 Web 应用程序已经运行后尝试加载符号。
  • 已验证Optimize Code 未被选中
  • 已验证 Enable Just My Code 已检查
  • 导入导出设置 > 重置所有设置
  • 安装了 Visual Studio 2019 Community Edition 并再次尝试了上述所有步骤
  • 项目属性> Web > 单击Create Virtual Directory 按钮
  • 删除了C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files%AppData%\Local\Temp\Temporary ASP.NET Files\%USERPROFILE%\Documents\My Web Sites 下的所有文件和文件夹 > 更改了项目属性Web 选项卡上Project Url 中的端口号

问题

如何让 Visual Studio 像开始时应该做的那样从项目 bin 文件夹中加载符号?

【问题讨论】:

  • 那么,您的实际问题是什么?
  • 我无法调试,因为 Visual Studio 从项目输出之外的任何地方加载无效符号
  • 不是无符号问题的重复
  • 这确实与@mxmissile 提出的问题非常相似。我现在已经尝试了我尚未尝试的问题讨论中的唯一步骤,但没有帮助。

标签: asp.net visual-studio debugging iis-express visual-studio-debugging


【解决方案1】:

您可以尝试以下两个技巧:

1.对于你设置断点的项目,右键project=>Properties=>Build tab(Debug Configuration)=>Advanced=>Set the Debug informationFull

2.清空Symbol cache,关闭shadow copying以强制它在运行应用程序时从bin文件夹而不是Temporary Asp.net Files文件夹加载程序集。(它将从bin加载xx.dll,但是我不确定它是否也会从 bin 中加载 pdb...)

希望对你有帮助:)

【讨论】:

  • 感谢您的提示。从技术上讲,这解决了我提出的问题,因为它现在正在从 bin 文件夹中加载 pdb。新问题是,即使模块窗口应该从 bin 文件夹加载符号并且我已经完成了多次清理和多次重建操作,它仍然说由于源版本不同,它仍然不会达到我的断点。
  • 忽略最后一个。新问题是匆忙。进行此更改后,我正在查看错误的文件。我现在可以正常调试了。
  • 您第一条评论中的新问题似乎已经解决了?如果是这样,那是个好消息 :) 如果它仍然存在,请随时告诉我!
猜你喜欢
  • 2012-06-25
  • 2013-05-19
  • 1970-01-01
  • 2013-01-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-01-06
  • 2016-12-28
相关资源
最近更新 更多