编辑并继续:“变化是不允许的时候......”编辑并继续:“变化是不允许的时候......”(Edi

2019-05-12 21:44发布

即使我创造一个清洁的WinForms项目,编辑并继续不工作,给我的错误:

当调试已连接到一个已经运行的过程中不得改变或正在调试的代码在编译或运行时间进行了优化。

  1. 编辑并继续选项在工具→选项→调试检查。
  2. 优化未启用。
  3. 好像没有任何管理探查成立。
  4. 我在调试模式下运行
  5. 我的x64 CPU和Windows XP 32位上运行,但平台的目标设定为86,而不是AnyCpu没有帮助。
  6. 修复Visual Studio安装并不能帮助。

我还发现, 这篇文章在MSDN网站:

不受支持的方案

编辑并继续不在以下调试方案可供选择:

  • 调试在Windows 98。

  • 混合模式(天然的/管理的)调试。

  • SQL调试。

  • 调试的Dr.Watson转储。

  • 未处理的异常,在“放松对未处理的异常调用堆栈”未选择选项时,编辑后的代码。

  • 调试嵌入式运行时应用。

  • 调试,附加到,而不是运行与开始从调试菜单应用的应用。

  • 调试优化的代码。

  • 调试托管代码当目标是64位应用程序。 如果你要使用编辑并继续,你必须将目标设定为86。 (项目属性,编译选项卡,高级编译器设置)。

  • 调试新版本后,旧版本的代码未能建立,由于生成错误。

但我可以回答“否”,以在此列表中的每个项目。

它的工作之前,但数天前,它停止工作,我不知道可能是什么原因。

Answer 1:

我终于得到解决的问题: 卸载加利奥

加利奥似乎有相当长的一段很多粗糙的边缘,它是最好不要使用MbUnit的3.0,但使用MbUnit的2.0框架,但使用公堂亚军,你是不从安装程序(也安装了Visual Studio插件)安装运行。

顺便说一句,我甚至以后“禁止”他公堂插件有问题。 仅卸载解决了这个问题。

PS。 通过nightcoder主编:
在我的情况下禁用TypeMock隔离器 (模拟框架)最后帮助 ! 编辑并继续现在的作品!

下面是从TypeMock支持的回答:

进一步寻找到编辑和继续的问题,并与微软交谈这件事后,我们得出的结论不能用于隔离解决。 隔离器实现了一个CLR探查,并根据我们的研究,一旦CLR探查器已启用,连接,编辑并继续被自动禁止。 我很抱歉地说,这不再被认为是一个错误,而是隔离的限制。



Answer 2:

适用的解决方案

以下是可能的解决方案不完整的, 无序列表尝试,如果你*要修复编辑和迅速继续:

  • 请确保你在调试模式
  • 确保你不会推出混合模式的过程
  • 尝试设置CPU目标86,而不是AnyCPU(在x64机器上)
  • 取消选中在项目属性-优化代码复选框调试模式 >调试
  • 取消选中启用 高级编译器设置 优化
  • (ASP.NET)检查nightcoder的答案 ,如果是这种情况
  • (ASP.NET)检查这个答案(由matrixugly)如果是这样的话
  • (ASP.NET)确保你有编辑和 网络选项卡上继续启用(VS2010)
  • (ASP.NET)转到属性>网络>服务器 ,并确保启用并继续使用Visual Studio开发服务器被选中。
  • (ASP.NET的WebAPI)确保您在控制器的方法已经停止使用断点,试图修改它。
  • 转到工具>选项>调试>常规 ,并确认要求源文件完全匹配原始版本是听之任之。
  • 您是否正在使用微软正版正货? 它能抑制编辑并继续。
  • 任务管理器中选择结束进程树杀死所有的* .vshost.exe实例。 VS将重新生成一个正确的实例。
  • 删除所有与调试-断点>删除所有断点
  • 启用并继续存在于这两个工具>选项>调试菜单,并在项目设置 。 一定要检查这两个地方。 编辑并继续不与扩展的IntelliTrace支持设置。
  • 务必调试信息项目属性>构建>高级>输出>调试信息设置为Full
  • 有些插件可能会干扰。 通过禁用/卸载,然后再尝试其他解决方案检查。
  • 如果你没有给予足够的重视,你的错误,同时试图解决这一问题可能会变成别的东西,是比较容易诊断。 例如含有一个lambda表达式不能支持编辑和继续方法。
  • 确保系统变量COR_ENABLE_PROFILING未设置为1 。 有些分析器安装时设置这个和卸载后离开它这样。 打开命令提示符,然后键入set来快速检查您的系统会受到影响,如果是删除变量或将其设置为0

    • 在Windows 8及以上,搜索系统 (控制面板)。
    • 单击高级系统设置链接。
    • 单击环境变量
    • 删除COR_ENABLE_PROFILING
  • 要注意的不受支持的方案 (如报告的问题),并且不支持编辑 。

*用“你”,我的意思是谁敲打他的头在键盘上找到解决办法的页面的访问者。

随意,如果您有其他提示编辑这个答案!



Answer 3:

如果您正在调试的ASP.NET应用程序,进入属性>网络>服务器,并确保“启用和继续”下使用Visual Studio开发服务器检查。



Answer 4:

我有同样的问题。 我甚至重新安装VS 2008,但问题并没有消失。 然而,当我删除了所有的破发点,然后开始工作。

Debug->Delete All Breakpoints

我认为这是发生,因为我已经删除了曾在其代码破发点,然后我创建了另一个页面具有相同名称的aspx页面。 这可能混淆了VS 2008。



Answer 5:

事情夫妇检查

  • 确保你的编译设定为调试与发布
  • 确保你不会推出混合模式的过程
  • 如果在64位计算机上确保设置CPU目标86,而不是AnyCPU

编辑

我不相信这一点应该没关系,但要确保托管进程为目标平台启用。 可能不会帮助。

如果repros新项目,那么它可能甚至一些更微妙的是。 我想尝试以下。

  • 备份HKCU:\ SOFTWARE \ Wow6432Node \ VisualStudio的\ 9.0(也许只是将其重命名)
  • 删除相同的密钥
  • 再次尝试摄制


Answer 6:

如果您关注的是一个ASP.NET应用程序,确保您有编辑并继续在网络选项卡(VS2010)上启用。 还有在早期版本的ASP.NET调试单独设置。

问候,

亚当。



Answer 7:

没有为我工作的上述解决方案(一个64倍的机器上运行)。

最后,我点击'advanced compiler settings'未选中 'enable optimizations ”,我现在可以通过代码和编辑步调试时。



Answer 8:

我发现,即使在项目属性构建和调试选项卡设置为调试和所有其他的设置是正确的我仍然得到消息,但是生成菜单选择配置管理器下挖些后...,并确保调试选择在两个地方有作为。 去图...有多少不同的地方?他们需要设置调试?????? 即使你设置项目 - 配置为Debug然后根据建设 - 经理是不会改变,所以你修改了相同的设置有作为项目配置 - 似乎是一个Microsoft问题再次.......



Answer 9:

此问题是由于设置的IntelliTrace

如果智能跟踪启用确保的IntelliTrace事件仅检查

否则,这将不允许编辑并继续..

如果你点击的IntelliTrace选项,你会看到的警告。



Answer 10:

以下拍摄使用VS2010帮助我:

进入工具,选项,调试,一般并确保“要求源文件与原始版本完全匹配”是听之任之。



Answer 11:

对于我来说,对于我不明白一个道理,设置“生成调试信息”中的“高级编译器设置”设置“PDB-只”的“全”,而不是。

默认情况下,这个参数总是设置为“完全”,而是一个神秘的骚灵已经改变了昨晚这个参数。 :)

PS我在Visual Basic .NET和Visual Studio 2010



Answer 12:

“编辑并继续”,启用时,将只允许你当它处于中断模式修改代码:例如通过具有一个异常或遇到断点暂停执行。

这意味着当执行没有被暂停,你不能编辑代码! 当涉及到调试(ASP.NET)网络项目,这是非常直观的,因为你会经常要做出请求之间变化。 在这个时候,你的代码(可能)调试没有运行,但它也不会被暂停!
为了解决这个问题,你可以点击“打破所有”(或按Ctrl + Alt + Break)。 另外,地方设置一个断点(例如,在你Page_Load事件),然后重新加载该页面,所以当它击中的断点暂停执行, 现在你可以编辑代码。 即使代码.cs文件。



Answer 13:

当这种情况发生的调试器不打一处断点,或者你没有命中打破一切(暂停)。 它不可能是简单的可能呢?



Answer 14:

我曾在Microsoft Visual Studio 2008的这个问题,解决的办法是容易的。 当你运行你的项目,请在“调试”模式不是“释放”设置。 在另一个人的解决方案可能是有用的。



Answer 15:

错误说,一个可能的原因是:“正在调试的代码在编译进行了优化或运行时间”。 转到项目属性 - >调试并取消调试模式的优化代码框。



Answer 16:

如果我创建一个新的项目,编辑在调试时不工作。 如果我创建一个新的网站,编辑在调试正常工作。



Answer 17:

有些事情似乎使用VS2010的帮助:

  • 进入工具,选项,调试,一般并确保“要求源文件与原始版本完全匹配”是听之任之。
  • 多个.vshost.exe实例可以从例如从停止进程分离的VS调试器中遗留下来的。 这将干扰断点和编译为好。 使用任务管理器中的进程选项卡上右键单击每个实例,并选择结束进程树杀.vshost.exe的所有实例。 VS将创建一个新的实例。


Answer 18:

我从我的项目中删除的数据集,因为我没有使用它。 从那以后,我可以修改调试时程序。



Answer 19:

我没有在所有其他的答案中提到的所有变化,没有工作。 我学到了什么? 启用并继续存在于这两个工具>选项>调试菜单,并在项目设置。 之后我查了两个,启用并继续为我工作。



Answer 20:

我就遇到了这个今天 - 原来,有调试信息设置为PDB-只(或根本没有,我想像)将阻止修改,然后从工作的继续。

确保您的调试信息设置为“满”第一!

项目属性>生成>高级>输出>调试信息



Answer 21:

什么工作对我来说是取消选中“使用管理兼容模式”下

工具 - >选项 - >调试

TBN:选中或取消选中“要求源文件的原始版本完全匹配”,似乎不影响对E&C

希望这可以帮助。



Answer 22:

启用编辑并继续只工作运行IIS表达。 不要在本地或国际空间站外部主机工作。



Answer 23:

在我的情况下,只需正在重置为默认调试程序设置和设置IntelliTrace->仅intellytrace事件有助于



Answer 24:

嵌入互操作类型的Visual Studio应设置为false



Answer 25:

我有这个发生在一个链接的类文件。 该项目的其余部分允许E&C,但我得到了同样的错误编辑链接文件。 解决方案是打破链接文件到它自己的项目,并引用该项目。



Answer 26:

我面临着同样的问题。 我的问题是,我可以修改一个文件,而不是另一个(两者在同一个项目)。 后来我发现,我不能修改该文件也是另一个项目的一部分。 另一个项目(单元测试)没有被加载,以及智能 VS调试器显示,未加载组件,用于该给定文件的错误,并且不允许更改。 如何怪异!

因此,我不得不卸载单元测试项目,并继续ENC调试。



Answer 27:

我在这停被editted的web表单项目的解决方案数据库项目。

我点击“卸载”的数据库项目和现在的一切工作甜蜜。



Answer 28:

对于VS2017它可以帮助删除文件名为.suo在您的解决方案,它为我工作。 :)



Answer 29:

我正面临同样的问题,在Visual Studio 2005中我的配置是64位。 它是在VS的解决方案之一,但不是其他工作正常。 我发现我才会启用“启用编辑并继续”对于那些我想使在调试模式变化的项目。 这终于解开了我,当我选择“启用并继续”我开始了项目也是如此。

有除了启用并继续无需更改配置。



Answer 30:

似乎不合逻辑,但唯一的办法是禁用编辑和VS 2017年继续选项...然后ASPNET编辑并继续开始工作...



文章来源: Edit and Continue: “Changes are not allowed when…”