视觉工作室编辑和继续不起作用

Posted

技术标签:

【中文标题】视觉工作室编辑和继续不起作用【英文标题】:visual studio edit and continue does not work 【发布时间】:2013-08-18 11:39:25 【问题描述】:

在我的项目中,它是一个混合项目(之前它是一个 Web 表单项目,然后我们修改为使用 mvc 模式)。

现在我希望它处于调试模式,我想更改我的 cs 文件中的某些内容,并且 然后我希望更改的代码运行。

我已尝试启用和禁用工具 -> 选项 -> 调试 -> 编辑并继续复选框部分。

启用后,我无法在调试时更改项目中的代码。 当它被禁用时,我可以更改代码,但它不会影响运行部分。 例如。

  int i = 0;
  if(i == 1)
    return 1;
  else
    return 2;

在调试模式下,我将i 更改为1,但它仍然返回2,在下面的代码中,只有当我停止并重新运行调试器时它才会生效。

 int i = 1;
  if(i == 1)
    return 1;
  else
    return 2;

顺便说一句,我使用的是 Visual Studio 2010 版本。

【问题讨论】:

another question 有几个有用的答案。 应该有点明显禁用编辑并继续不会在您编辑时更改代码行为。 E+C 有一些限制,特别是它不支持 64 位程序。已在 VS2013 中修复。微软不保密,this MSDN page 中很好地描述了什么可以工作 结果我应该怎么做它说启用 E+C 但我要说的是我尝试了两种情况但它没有解决我的问题 【参考方案1】:

此问题的解决方案在 Microsoft 文档中...启用工具后 -> 选项 -> debud -> 编辑并继续....还有更多工作要做..

如果 IntelliTrace 已启用并且您同时收集 IntelliTrace 事件和呼叫信息,则“编辑并继续”将被禁用。

在 Visual Studio 的菜单上,进入工具>>选项 - 选择“IntelliTrace”选项卡并让 IntelliTrace events only 选中.. 保存,重新启动 Visual Studio 并......

您的“编辑并继续”将再次起作用!

【讨论】:

您只能在企业版上使用 IntelliTrace 功能,不能在专业版上使用。 我必须完全禁用 IntelliTrace 才能让编辑继续工作 它不适用于 VS 2019【参考方案2】:

这不是我的问题;运行VS2017 RC2,我发现在Tools -> Options -> Debugging -> Just-In-Time - 我的“托管代码”被取消了。

出现警告“另一个调试器已将自己注册为即时调试器。通过启用即时调试或运行 Visual Studio 修复进行修复”。

我没有注册任何其他调试工具!所以不知道为什么它取消了...

所以解决方法只是勾选“托管”框....

【讨论】:

我必须这样做并重新启动 Visual Studio 才能使更改生效 这里也一样。 Native 最初是选项,但最终选择了所有三个选项。在某些设置中,尝试在没有提升的情况下再次更改这些会导致“另一个调试器已注册自身……”。【参考方案3】:

给出的答案均无效。这就是我所做的。

我修复了 VS 安装。我有 2017 版。 我取消了本机代码复选框。

【讨论】:

感谢您的信息,启用此功能后,我可以启用编辑并继续。【参考方案4】:

Edit & Continue doesn't work - 这已经为我修复了 - 它适用于 VS2017 并且最近开始发生(2019 年 3 月)。 似乎 NCover 设置了系统变量 COR_ENABLE_PROFILING=1。卸载它会为我摆脱它。

【讨论】:

【参考方案5】:

上述方法均不适用于我自己,但是一旦我取消选中“启用本机编辑并继续”,它就会起作用:在工具 -> 选项 -> 调试 -> 常规下。

【讨论】:

【参考方案6】:
    在工具 -> 选项 -> 调试 -> 常规下:选中“启用编辑并继续”复选框。 在工具 -> 选项 -> 调试 -> 即时:选中“托管代码”复选框Image Checking Managed Code 保存并重新启动 Visual Studio。如果您收到有关提升权限的警告,请接受该对话框。您的更改尚未保存。重新启动后,再次转到工具 -> 选项 -> 调试 -> 即时:如果未显示选中,请选中“托管代码”框。保存并重新启动 Visual Studio。

【讨论】:

是的,需要重启【参考方案7】:

修复 VS 安装,并升级到当前最新的 VS2017 版本:15.9.19 为我解决了这个问题。

h-rai 的回答给了我需要的线索:取消选中 Native 复选框会出现警告,指出另一个 JIT 调试器已注册。

然后,我在这篇文章中找到了更多线索here

也许,我的问题是由于安装了新的 .NET core 3.1,但尚未将 VS2017 升级到 VS2019。

现在,当我取消选中“Native”复选框时,我不会收到有关另一个 JIT 调试器的警告,我可以在再次调试时修改代码。

【讨论】:

【参考方案8】:

我发现我的

VS2019: Project (context menu) =>
Properties =>
Debug =>
Debugger engines =>
Enable native code debugging

已开启。取消选中此选项后,我的“编辑并继续”问题消失了!

注意:在此发现之前,我曾尝试过建议的修复(此处)。

【讨论】:

【参考方案9】:

只需按下 Break All 按钮,然后编辑您的代码,然后按下 Continue。 这对我来说就像一种魅力

【讨论】:

【参考方案10】:

在此之前,默认情况下启用运行时编译。对于面向 .NET Core 3.0+ 的项目,用户需要按照说明https://docs.microsoft.com/en-us/aspnet/core/mvc/views/view-compilation?view=aspnetcore-3.0

明确启用该行为

从 Nuget 包管理器 Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation 安装

运行以下命令: 安装包 Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation -Version 5.0.7 并在启动文件中添加以下行

services.AddRazorPages().AddRazorRuntimeCompilation();

【讨论】:

【参考方案11】:

如果您已经更新了“调试”选项,但“编辑并继续”仍然不起作用,请尝试清理并重建项目。 (在 VS 2022 中为我工作)

【讨论】:

以上是关于视觉工作室编辑和继续不起作用的主要内容,如果未能解决你的问题,请参考以下文章

Visual Studio 2013 编辑并继续不起作用

暂停游戏时,“继续”按钮不起作用

TFS 2017 版本管理日志窗口不起作用

OpenCV计算机视觉处理代码不起作用

Win32 编辑控件滚动条在 Windows 10 中不起作用

继续在这个简单的 Python 函数中似乎不起作用