【发布时间】:2016-09-30 05:21:36
【问题描述】:
我正在开发一个 Web 项目(DNN 模块),我最近更新到 Visual Studio Professional 2015 Update 3。
我在 Windows 10 PC 上使用 IIS 10
当我尝试 F5 / 调试我的应用程序时,我在任何断点上都会收到以下警告:
当前不会命中断点。未加载任何符号 对于这个文件
我试图解决的问题:
- 我在 IIS 10 中启用了目录浏览
- 我在管理员模式/提升权限下运行 VS
- 将 MS ASP.NET 和 Web 工具扩展更新到最新版本
- 将 MS ASP.NET Web 框架和工具扩展更新到最新版本
- 清除并重新下载所有调试符号
- 在发布和调试模式下清理和重建
- 确保 modules runAllManagedModulesForAllRequests="true" 设置在 web.config的system.webserver
- 重启 IIS/刷新应用程序池,然后重启网站
- 为网站使用不同的端口
- 显然重启电脑/和visual studio
我完全不知所措,真的需要帮助。我不知道为什么我的断点没有被命中,当我调试站点时没有抛出错误并且站点运行正常。
其他尝试:
从这个SO thread我试过了:
来自This SO Thread我试过了:
- 在调试常规设置中禁用“仅我的代码”
来自用户的建议:
- 我已尝试直接附加到 w3wp.exe 进程 - 当我尝试停止调试时,没有遇到断点并且 Visual Studio 崩溃。此外,一旦我附加了调试器,网站就会停止工作
问题
谁能帮我弄清楚为什么在从 Visual Studio 调试时我的断点没有被命中。
编辑#1:其他尝试
- 当我调试我的应用程序并打开 调试 -> Windows -> 模块 窗口时,我在模块列表中看不到我的项目 dll / pdb 文件的名称。我试着去 Debug -> Options -> Symbols 并单击 Load All Symbols 按钮。 我包括了一个屏幕截图。我的 dll 或项目名为 krisisShifts,因此在 obj/Debug 文件夹中创建的 dll 是 krisisShifts.dll 和 KrisisShifts.pdb 等。图像上的蓝色标记表示 dll 未在加载的模块中列出。我还包括了 Visual Studio 用于调试标记为红色的站点的默认附加进程。
- 我还从 IIS 中删除了站点和应用程序池,并使用不同的名称重新创建它们,站点显示正常,但没有命中断点
编辑 2:附加到进程现在有效
不知道我做了什么。我整天都在与这个作斗争,并且在多次重新启动计算机和 Visual Studio 之后,我现在可以附加到进程 w3wp.exe 并且断点被击中。
但是按 F5 仍然不起作用。站点加载但未命中断点,我可以看到我的项目 .dll 未添加到调试模块列表中(但它是在我附加到进程时)。
我觉得我更接近了,但仍然无法弄清楚为什么我的项目 .dll 在按下 f5 时没有加载到调试模块中。
【问题讨论】:
-
您是否在项目属性中检查了 DLL 的输出路径?检查那里的其他调试设置?
-
@IrishChieftain 我检查了输出路径,正在创建 .pdb 文件
-
至少可以附加到进程中?
-
@IrishChieftain 我已附加到 w3wp 进程,但没有命中断点,事实上,一旦我附加调试器,站点就会停止正常工作。特别是 web.api 调用不再起作用。
-
另外,当我在附加到 w3wp 进程后停止调试时,Visual Studio 崩溃并重新启动。是啊!!
标签: asp.net visual-studio iis visual-studio-2015 dotnetnuke