【问题标题】:"No symbols have been loaded for this document." But they have!“没有为此文档加载任何符号。”但他们有!
【发布时间】:2011-04-12 09:19:47
【问题描述】:

如你所见

符号已正确加载。

我刚刚使用AddView 短链接创建了一个视图GetCompanies.cshtml

但是,无论我做什么,我都无法在视图中调试。

到目前为止我做了什么:

  • 关闭和打开解决方案
  • 关闭并打开 Visual Studio
  • 关闭所有 ASP.NET 开发服务器
  • 删除了所有符号库.pdb
  • 清洁解决方案
  • 重新构建解决方案

(尚未)关闭 Windows 7 x64 :-/

【问题讨论】:

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


    【解决方案1】:

    有时,如果您遇到硬停止,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】:

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

      也许你的观点可能是一样的?

      【讨论】:

        【解决方案3】:

        尝试上述所有方法几个小时都在搞砸这个问题。我终于将我的 Target Framework 更改为 .NET Framework4.5,这一切都开始神奇地工作了。

        【讨论】:

        • 做了更多检查...似乎如果 Visual Studio 猜错了运行时,您可能无法调试。这是解决方案:blogs.msdn.com/b/greggm/archive/2010/06/08/…
        • 谢谢@user1834226。你上面的评论是我的问题。我在发布模式下调试应用程序,但我在库项目中的断点没有命中。
        • 更改目标框架非常麻烦,而且很少有选择。
        【解决方案4】:

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

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

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

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

        【讨论】:

          【解决方案5】:

          对我来说,我不知何故将我的目标构建切换到 Release 而不是 Debug

          【讨论】:

            【解决方案6】:

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

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

            1. 它显示“无符号”错误。 这只是意味着视图不是 尚未编译。
            2. 它显示断点正常。 这只是意味着 它找到了页面的一些编译版本。 就像最后一个工作版本一样......

            因此,当您将鼠标悬停在视图中的断点上时(至少在这方面),查看它所说的内容基本上是没有意义的信息

            如果您尝试调试此页面,那么您遇到了问题。查看调试器输出到您的浏览器的内容,然后先修复它。我想我们会惊讶于有多少人会为此而面面相觑。

            【讨论】:

              【解决方案7】:

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

              【讨论】:

                【解决方案8】:

                在我的情况下,.PDB 文件在 VS 2012 中被冲洗(从中加载符号),因此执行清理和构建重建了 .PDB 文件,一切都重新开始工作。

                【讨论】:

                  【解决方案9】:

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

                  1. 全部保存。您甚至可能想尝试清洁溶液
                  2. 全部重建并安装或部署
                  3. 在启动服务(或 exe)之前,我将 .pdb 文件复制到安装文件夹中
                  4. 启动服务(或 exe)并将调试器附加到进程

                  对我来说就像一个魅力(终于)。

                  【讨论】:

                    猜你喜欢
                    • 2014-02-08
                    • 1970-01-01
                    • 2012-01-10
                    • 2016-09-24
                    • 1970-01-01
                    • 2011-09-15
                    • 2015-01-23
                    • 2011-02-12
                    • 2012-09-21
                    相关资源
                    最近更新 更多