12

所以这是我的泡菜。我正在使用 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 应该打开一个空文件!)而且我对发生了什么感到非常困惑......有什么想法吗?

问候,

安东尼奥

4

6 回答 6

4

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

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

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

不利的一面是,如果您在受此问题影响的特定文件中有断点,那么您可能会发现 VS 不会跟踪该文件,因此只有在存在导致您遇到问题的文件时才应使用此选项(IMO)不关心调试。

当我发现更多时,我会更新我的答案。

于 2014-04-19T22:07:03.083 回答
3

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

于 2014-03-12T08:59:16.403 回答
1

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

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

完成了,它奏效了!

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

于 2014-04-16T09:40:44.413 回答
0

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

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

于 2014-02-04T16:23:53.197 回答
0

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

于 2015-05-19T19:10:03.107 回答
0

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

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

什么可以解决我的问题:

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

现在您应该能够单步执行这两个项目的代码。

于 2016-05-05T12:22:19.090 回答