C# VS2010 进入断点模式失败

31

我在程序后期使用断点时遇到了问题,提示无法停留在断点上,原因是源代码和编译代码不一致。我决定在 public MainWindow() 函数上设置断点,看看会发生什么。

现在我遇到了以下错误:进入断点模式失败,原因是源文件 'F:\cAdmin\OO\OO\MainWindow.xaml.cs' 不属于正在调试的项目。

这让我感到有趣,因为我的项目存储在闪存驱动器(L:)上,而不是在 F: 上。

我已经重新构建并清理了项目(多次),重启了计算机,移动了闪存驱动器,以及其他我能想到的任何方法。


1
您可能需要查看调试设置 - http://msdn.microsoft.com/en-us/library/0a10ws2y.aspx。我怀疑工作目录可能设置不正确。 - Sandeep G B
8个回答

55

删除解决方案用户选项 (.suo) 文件。

如果您遇到“有趣”的调试问题,通常意味着 suo 文件已损坏。

删除解决方案 suo 文件。这个方法已经每次都能解决我奇怪的断点调试问题。请注意,您将失去解决方案的设置,例如书签、断点等等。

参见Visual Studio 2008 - The breakpoint cannot be hit


1
同样适用于Visual Studio 2012。谢谢。 - Jaded
如果您在一个解决方案中有多个项目,那么在删除(.suo)文件后,请右键单击并在VS中设置所需的启动项目。 - GorvGoyl
1
这个修复方法对我刚刚起作用了。由于复制了一个解决方案并同时打开了两个副本,我遇到了一些非常奇怪的行为。 - Ravendarksky

19

Visual Studio 2012 Update 3

没有生效的解决方案:

  • 重建解决方案
  • 删除 .SUO 文件
  • 删除 Obj 和 Bin 目录

生效的解决方案:

工具->选项->调试->编辑和继续->取消选中编辑和继续复选框


14

尝试了这个方法,但是没有起作用。最后解决的方法如下:

生成 > 清理解决方案 生成 > 生成解决方案(F6)


这对我有点起作用,但我不得不清理特定的项目,而不是解决方案。另外需要注意的是,当我创建一个新的空解决方案并添加一些现有的.csproj项目时,Visual Studio错误似乎是源自此处。 - Harrison Paine
我清理了解决方案,然后重新构建解决方案,问题就消失了。 - Dib

1
对我来说,解决方案有点玄学。我在 Azure WorkerRole 项目中有一个 workflow.xaml 文件,并将其设置为 BuildAction: XamlAppDef,而不是 None。由于某种原因,这导致该项目无法获取其他文件的更改 - 即使 VS2013 报告构建成功 - 这导致在尝试调试 WorkerRole 时出现“进入断点模式失败”的错误。
其他症状包括类型无法识别(即 IDE 中未着色)和智能感知不起作用。将 xaml 文件的构建操作设置为“无”即可解决此问题(无论如何,我都会动态加载工作流程)。
我提到这一点,以防其他人做了类似的事情,而其他解决方案无法解决问题。

1
我在我的解决方案中有一个库项目A和一个Web项目。需要将项目B的项目引用添加到库项目A进行调试。我做了这件事,但它不起作用。
问题在于Web项目也通过DLL引用了项目B;因此,我还需要将其更改为项目引用,然后它就可以工作了。

1
对我来说,选择“项目|添加现有项”,然后选择在错误消息中命名的文件即可。

1

我曾在一组我们开始维护并迁移到Visual Studio 2010的解决方案中遇到过这个问题。"删除.suo文件"没有起作用。

不知何故,源代码集包含了两个程序集项目,它们位于同一个目录中,共享一个源文件。该文件本身未在警告对话框中显示。

以下是解决方法:

  1. 将程序集项目拆分为单独的目录,并
  2. 将共享文件移动到第三个程序集中(也在单独的目录中)。

0

当我试图复制一个没有源代码控制的项目时,我遇到了同样的问题。

问题的解决方法是bin目录被标记为只读(可能是在复制过程中发生的),因此该项目运行的是在不同主机上构建的库,无法进行步骤调试。

请确保手动删除bin目录中的所有项目,并确保可以写入'bin'目录。


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