【问题标题】:random cs files not opening in visual studio 2012未在 Visual Studio 2012 中打开的随机 cs 文件
【发布时间】:2013-09-23 19:57:34
【问题描述】:

所以这是我的泡菜。我正在使用 Visual Studion 2012 并且一直在顺利开发我的应用程序。我今天打开VS,我可以像往常一样打开所有文件(cs文件)。在我按下开始按钮开始调试后...我得到 xxx.cs not found 错误。

|未找到来源 |

找不到xxx.cs

需要找到xxx.cs才能查看当前调用栈帧的来源。

尝试以下选项之一:

来源搜索信息

查找“[PATH]\xxx.cs”的源。校验和 MD5 {14 3a e d4 8d 6c e5 0 e2 56 3e 4b 3 dc 22 7a}

确定校验和是否与以下位置匹配:

1: [PATH]\xxx.cs 校验和 MD5 {14 3a e d4 8d 6c e5 0 e2 56 3e 4b 3 dc 22 7a} 校验和匹配。

文件'[PATH]\xxx.cs'存在。

调试器在以下位置找到源代码:

1: [路径]\xxx.cs 校验和 {14 3a e d4 8d 6c e5 0 e2 56 3e 4b 3 dc 22 7a}

调试器将使用位置 1 的源代码。

现在,如果我单击链接文本以浏览文件...什么也不会发生。我停止调试器并双击 xxx.cs 也没有任何反应。 我可以单击其他 cs 文件,有些工作,有些没有。这似乎完全随机... 有没有人经历过这种情况?

我通过工具 | 重置了所有设置导入和导出设置并没有起到作用。

xxx.cs 和所有其他文件确实包含数据(至少 VS 应该打开一个空文件!),我对发生了什么感到非常困惑......有什么想法吗?

问候,

安东尼奥

【问题讨论】:

  • 听起来 Project Solution 不再包含这些文件(移动或删除),但您的 Solution Explorer 没有同步这些更改,因此会导致错误。
  • 您可以在另一个文本编辑器中打开文件(使用 VS 中的路径)吗?你能修改/保存它们吗?
  • 对所有代码进行干净的重建。听起来调试数据库已损坏或与源代码不同步。
  • Greg/DSway...文件仍然存在,我可以通过 Visual Studio 2005 和记事本中的 Windows 资源管理器打开它们。 Jason...我应该在帖子中提到我已经清理并重建了代码,但仍然出现错误...有没有办法手动重新同步调试数据库?
  • 即使在调试停止后...我完全无法打开在调试模式下遇到问题的 cs 文件。右键单击打开失败。右键单击打开方式。如果我选择 C# 编辑器(默认),它会失败。如果我选择记事本,那就行了。太奇怪了。

标签: c# visual-studio debugging visual-studio-2012


【解决方案1】:

我在 VS 2012 中随机遇到了这个问题,虽然我还没有找到根本原因(我觉得这是 Visual Studio 中的一个错误,因为它不会在 2010 年的同一个项目中发生),但我发现了如何禁用烦人的症状,然后继续调试。有一个选项可以关闭校验和文件检查,在工具 -> 选项 -> 调试 -> 常规中:

要求源文件与原始版本完全匹配 告诉调试器验证源文件是否与用于构建您正在调试的可执行文件的源代码版本匹配。如果版本不匹配,系统会提示您查找匹配的源。如果没有找到匹配的源,则调试时不会显示源代码。

http://msdn.microsoft.com/en-us/library/85yzd16c.aspx

缺点是,如果您在受此问题影响的特定文件中有断点,那么您可能会发现 VS 不会跟踪该文件,因此只有在有文件导致的情况下才应使用此选项 (IMO)你不想调试的麻烦。

我会在发现更多信息时更新我的​​答案。

【讨论】:

    【解决方案2】:

    在我的情况下,文件有一些 unicode 字符或其他编码,可能是文件损坏的结果。我右键单击-> 打开方式...-> 并切换到“带编码的 C# 编辑器”选项。 请注意,每次都会提示询问是否应该自动检测编码,这非常烦人,但希望你能找到有问题的角色并修复它们。

    【讨论】:

      【解决方案3】:

      我在使用 Visual Studio 2013(又名 12.0 版)时也遇到了这个问题,让我抓狂。修复、卸载、重新安装、删除 .dll、.csprojs、.suos、清理、重建。没有任何帮助。作为全新安装 Windows 之前的最后一招,我完成了以下步骤,成功解决了问题:

      • 通过 Windows 的添加/删除功能删除了 VS。
      • 删除了 %AppData%、%ProgramData% 和 Program Files (x86) 中所有引用 Visual Studio 12.0 的文件和文件夹(最后一个文件和文件夹在卸载后 给我留下了 13k 个文件,总计 200 MB+)
      • 重新启动
      • 运行 CCleaner 的文件和注册表清理工具
      • 使用 regedit 搜索“Visual Studio 12”和“12.0”,基本上删除了所有引用 Visual Studio 12.0 的键/文件夹(留下纯文件引用,因为它们的数量太疯狂了)
      • 重新启动,再次运行 CCleaner,重新启动。
      • 再次安装 Visual Studio 2013,将路径从“... 12.0”更改为“... 12”。
      • 手动应用了一个在安装过程中失败的 Windows 修补程序 (KB2664825)。

      完成了,它成功了!

      附带说明一下,我的 VS2010 和 VS2012 并行安装在我遇到 VS2013 问题的任何时候都没有受到影响。

      【讨论】:

      • 这对我帮助很大。谢谢。
      【解决方案4】:

      好吧,这可能无法解决您的问题,但我所做的是删除我的 .suo 文件,它不再提示我输入早已消失的文件。

      我只是在此处发布此内容,以供其他可能前来并发现此内容有帮助的人使用。

      【讨论】:

        【解决方案5】:

        https://stackoverflow.com/a/10028684/4222878 非常适合我。 在解决方案调试忽略列表中删除文件路径后,您应该重建整个解决方案。

        【讨论】:

          【解决方案6】:

          我遇到了同样的错误,这是由于我在一个项目中的 dll 没有更新到另一个项目依赖项。我尝试重建、删除 bin 文件、清除缓存和其他一些事情。没有一个对我有用。

          这是我的场景的一个简单示例。项目 A 依赖于项目 B。每当项目 A 在调试中遇到它调用项目 B 中的方法时,我都会收到错误消息。

          解决我的问题的方法:

          • 将项目 A 和项目 B 放入单个 VS 解决方案中。 (如果你有很多相互依赖的项目,你可以将它们都放在同一个解决方案中,我实际上有 9 个)
          • 清理并构建两个项目。 (让它们在新解决方案中同步)
          • 将您的启动项目设置为项目 A(或您之前尝试调试的任何项目)。

          现在您应该可以单步执行这两个项目的代码了。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2022-06-10
            • 2012-07-31
            • 1970-01-01
            相关资源
            最近更新 更多