“此文档未加载任何符号。”但他们有!

时间:2011-04-12 09:19:48

标签: visual-studio visual-studio-2010 debugging debug-symbols

你可以注意到

enter image description here

符号已正确加载。

我刚使用GetCompanies.cshtml短链接

创建了一个视图AddView

enter image description here

但是,无论我做什么,我都无法在View中进行调试。

到目前为止我做了什么:

  • 关闭并打开解决方案
  • 关闭并打开Visual Studio
  • 关闭所有ASP.NET Development Server的
  • 删除了所有符号库.pdb
  • 清洁解决方案
  • 重建解决方案

没有(还)关闭Windows 7 x64: - /

9 个答案:

答案 0 :(得分:7)

我在调试silverlight时不时发现相同的行为。我的解决方案是清理浏览器的缓存(在最新的IE上单击滚轮按钮,开发人员工具),因为它有时会缓存二进制文件而不加载新文件。

也许您的观点可能相同?

答案 1 :(得分:6)

有时如果你有一个硬停止,Visual Studio临时缓存将被搞砸。 通过删除这些文件夹来清除缓存:

C:\Windows\Microsoft.NET\Framework\<.net version>\Temporary ASP.NET Files\(ApplicationName)
C:\Windows\Microsoft.NET\Framework64\<.net version>\Temporary ASP.NET Files\(ApplicationName)

答案 2 :(得分:3)

一直在弄乱这个问题几个小时尝试上面的一切。我终于将我的目标框架改为.NET Framework4.5,这一切都开始神奇地工作了。

答案 3 :(得分:1)

这总是很奇怪。我刚刚解决了这个问题并通过完整重建整个解决方案来解决它。

还有另一个奇怪的症状:我使用NUnit编写的新单元测试,与NSubstitute进行模拟,不会通过,因为NSubstitute没有返回我希望它返回的内容。我失去了几分钟试图弄清楚我是否做错了编程NSubstitute,然后当我尝试将调试器连接到NUnit GUI时,我看到了那个警告。

那时我决定完全重建解决方案,这对我有用。

所以我想要吸取的教训是“然后将头撞到墙上,尝试完全重建”

答案 4 :(得分:1)

对我来说,我以某种方式将目标版本转换为Release而不是Debug

答案 5 :(得分:1)

请记住,当您请求页面时,实际上会编译视图(默认情况下)。

这意味着在视图中设置断点时:

  1. 它显示了&#34; No Symbols&#34;错误。 这只是意味着视图不是 已编译。
  2. 它显示断点很好。 这只是意味着 它发现了该页面的某些编译版本。与最新的工作版本一样......
  3. 所以基本上没有意义的信息来看一看你在视图中鼠标悬停断点时所说的内容(至少在这方面)

    如果您尝试调试此页面,则遇到问题。查看调试器输出到您的BROWSER的内容并首先修复它。我想我们会对有多少人在这方面表示惊讶。

答案 6 :(得分:0)

我在SL5项目(VS2012)中遇到了这个问题。为了解决这个问题,我需要在%MyProjectName%.Web标签下的Web项目属性中设置“Silverlight”选项。

enter image description here

答案 7 :(得分:0)

在我的情况下,VS 2012中的.PDB文件被加载(从中加载了符号),因此执行Clean和Build重建.PDB文件,所有内容再次开始工作。

答案 8 :(得分:0)

我试图调试部署的WCF Windows服务(在发布模式下编译)并且遇到完全相同的问题。试一试......

  1. 全部保存。您甚至可能想尝试清理解决方案
  2. 重建所有内容并安装或部署
  3. 在启动服务(或exe)之前,我将.pdb文件复制到安装文件夹
  4. 启动服务(或exe)并将调试器附加到流程
  5. 对我来说就像一个魅力(最后)。