在“模块”窗口中缺少项目dll文件

10

我做了很多修改来修复一个构建问题。其中一些更改最终奏效了,但现在我无法进行调试!

当我在我的 .cs 文件中留下断点时,调试器会显示:

The breakpoint will not currently be hit.  No symbols have been loaded for the document.

根据stackoverflow的建议,我检查了模块选项卡(调试->窗口->模块),以查看符号加载信息。问题是,没有project.dll!

WebDev.WebHost.dll在那里,包括system.dlls。我检查了我的同事的机器,他有project.dll,所以我做的某些事情破坏了调试器。

其他文章中建议的尝试的事情包括:

  • 将项目设置为调试模式
  • 清理和重新构建所有内容
  • 编辑文件,然后还原以确保它已重建
  • 确保正确的启动项目在解决方案属性中
  • 确保解决方案属性中所有内容都是在调试模式下构建的
  • 确保在项目属性中选中了ASP.NET调试器
  • 确保在项目属性中调试模式设置为完整
  • 在调试器设置中禁用“只有我的代码”
  • 重新启动Visual Studios
  • 重新启动电脑
  • 以管理员身份运行Visual Studios
  • 从源代码控制中检出新副本
  • 升级到Visual Studios 2013
  • 将浏览器切换到Internet Explorer
  • 确保IIS指向正确的目录。
  • 清除C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\project\并给所有用户编辑权限。

我应该做哪些事情才能将project.dll放入调试器模块中?


你是否在属性-生成下更改了OutputPath?另外,构建时是否显示“构建成功”? - DeanG
编译成功并运行。 - Holtorf
我遇到了同样的问题。你找到解决方法了吗? - Alex
2
@Alexander Bottlang 我通过让代码检测是否在进行单元测试,然后填充微软类可能会给出的值来“解决”了这个问题。显然,这不如能够测试真实行为优秀,但至少可以防止微软类在我需要测试自己代码时崩溃我的单元测试。 - Holtorf
2个回答

1

可能有点晚了,但我想分享一下我遇到的完全相同的问题...

我有一个Asp.net Web MVC项目,我已经将其发布到本地IIS。在尝试将我的Visual Studio调试器附加到IIS进程时,我遇到了相同的'断点不会被命中'错误,并且现在在Debug>模块列表中没有项目.dll文件。

我的解决方案最终是一个简单的解决方案,但事实证明当我最初将应用程序发布到本地IIS时,我没有选择'Debug configuration'。因为这个原因,我猜想我的Visual Studio调试器从未寻找过项目.dll文件,因此不会显示在列表中。

我完全从本地IIS中删除了我的应用程序,并使用Debug配置重新发布它,然后它就可以工作了...


0

确保已检查DEBUG和TRACE常量 确保未选中优化代码。

如果您只想在本地调试它,可以将项目配置为作为从控制台应用程序启动的Web服务运行,而不是发布、托管在IIS并附加到它。您有更好的机会获得调试符号,并加快工作流程。同样的代码也可以直接发布到IIS中。


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