C# VS2010 进入中断模式失败
Posted
技术标签:
【中文标题】C# VS2010 进入中断模式失败【英文标题】:C# VS2010 Entering break mode failed 【发布时间】:2011-10-24 16:01:39 【问题描述】:我后来在我的程序中遇到了一些断点问题,说它们不会被命中,因为源代码和编译代码不同。我决定在我的公共 MainWindow() 函数上设置一个断点,看看发生了什么。
现在我收到进入中断模式失败的错误,原因如下:源文件'F:\cAdmin\OO\OO\MainWindow.xaml.cs'不属于正在调试的项目。
我觉得这很有趣,因为我的项目存储在我的闪存驱动器 (L:) 而不是 F: 上。
我已经重建了我的项目并清理了它(很多次),重新启动了我的计算机,移动了我的闪存驱动器,以及我能想到的任何其他东西。
【问题讨论】:
您可能需要查看调试设置 - msdn.microsoft.com/en-us/library/0a10ws2y.aspx。我怀疑工作目录可能设置不正确。 【参考方案1】:删除解决方案用户选项 (.suo) 文件。
如果您遇到“有趣”的调试问题,通常意味着 suo 文件已损坏。
删除解决方案 suo 文件。这为我解决了每次断点的奇怪调试问题。请注意,您将丢失解决方案设置,例如书签、断点等。
见Visual Studio 2008 - The breakpoint cannot be hit。
【讨论】:
也适用于 Visual Studio 2012。谢谢。 如果您在一个解决方案中有多个项目,则在删除 (.suo) 文件后右键单击并在 VS 中设置所需的启动项目 这个修复刚刚对我有用。由于获取了解决方案的副本,然后同时打开了两个副本,我遇到了一些非常奇怪的行为。【参考方案2】:Visual Studio 2012 更新 3
没用:
重建解决方案 删除.SUO 删除 Obj 和 Bin 目录确实有效:
工具->选项->调试->编辑并继续->取消选中编辑并继续复选框
【讨论】:
【参考方案3】:试过这个,但没有用。对我来说最终解决了:
构建 > 清洁解决方案 构建 > 构建解决方案 (F6)
【讨论】:
这种方式对我有用,除了我必须清理特定项目,而不是解决方案。作为附加说明,Visual Studio 错误似乎源于我创建一个新的空解决方案并添加到一些现有的 .csproj 项目中。 我清理了解决方案,然后重建了解决方案,问题就消失了。【参考方案4】:我在我们开始为客户维护的一组解决方案中遇到了这个问题,并迁移到了 Visual Studio 2010。“删除 .suo 文件”不起作用。
不知何故,这组源代码将两个汇编项目包含在同一个目录中,共享一个源文件文件。该文件本身不在警告对话框中。
这解决了问题:
-
将程序集项目拆分到单独的目录中,然后
将共享文件移动到第三个程序集(也在单独的目录中)。
【讨论】:
【参考方案5】:至少可以说,我的解决方案有点深奥!我在 Azure WorkerRole 项目中有一个 workflow.xaml,它被设置为 BuildAction: XamlAppDef 而不是 None。出于某种原因,这导致项目无法获取对其他文件的任何更改——即使 VS2013 报告了成功构建——这导致在尝试调试 WorkerRole 时出现“进入中断模式失败”错误。
其他症状包括无法识别的类型(即被 IDE 着色)和智能感知无法正常工作。将 xaml 文件构建操作设置为“无”解决了问题(无论如何我都会动态加载工作流)。
我提到这一点是为了以防其他人做了类似的事情而其他解决方案不起作用。
【讨论】:
【参考方案6】:我的解决方案中有一个库项目 A 和一个 Web 项目。需要将项目B的项目引用添加到库项目A中进行调试。这样做了,但它不起作用。
问题是 Web 项目也通过 DLL 引用项目 B;所以我还需要将其更改为项目参考,然后它就起作用了。
【讨论】:
【参考方案7】:对我来说,选择项目|添加现有项,然后选择错误消息中命名的文件。
【讨论】:
【参考方案8】:当我尝试复制不在源代码管理中的项目时,我遇到了同样的问题。
问题的解决方案是 bin 目录被标记为只读(必须在复制过程中发生),结果项目在不同主机上构建的库上运行,无法单步执行。
确保您手动删除了 bin 目录中的所有项目,并确保可以写入 'bin' 目录。
【讨论】:
以上是关于C# VS2010 进入中断模式失败的主要内容,如果未能解决你的问题,请参考以下文章
如何使用会话状态模式:带有 VS2010 的 SQL Server