27

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

现在我想在调试模式下,我想改变我的cs文件中的一些东西,然后我想让改变的代码运行。

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

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

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

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

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

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

4

11 回答 11

15

这不是我的问题;运行 VS2017 RC2,我发现在工具 -> 选项 -> 调试 -> 即时 - 我的“托管代码”被取消选择。

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

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

所以修复只是勾选“托管”框......

于 2017-08-21T00:59:28.527 回答
12

给出的答案都没有奏效。这就是我所做的。

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

在此处输入图像描述

于 2018-06-21T23:47:44.313 回答
10

以上都没有对我自己起作用,但是一旦我取消选中“启用本机编辑并继续”,它就会起作用:在工具->选项->调试->常规下。

在此处输入图像描述

于 2019-05-05T02:04:59.447 回答
7
  1. 在工具 -> 选项 -> 调试 -> 常规下:选中“启用编辑并继续”复选框。
  2. 在 Tools -> Options -> Debugging -> Just-In-Time 下:选中 'Managed Code' Image Checking Managed Code
  3. 保存并重新启动 Visual Studio。如果您收到有关提升权限的警告,请接受该对话框。您的更改尚未保存。重新启动后,再次转到工具 -> 选项 -> 调试 -> 即时:如果未显示选中,请选中“托管代码”框。保存并重新启动 Visual Studio。
于 2019-11-28T03:34:35.423 回答
6

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

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

在 Visual Studios 的菜单上,进入 Tools>>options - 选择“IntelliTrace”选项卡并让IntelliTrace 事件只选中.. 保存,重新启动 Visual Studio 并......

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

于 2014-11-13T18:42:23.343 回答
1

我发现我的

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

被打开了。取消选中后,我的“编辑并继续”问题消失了!

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

于 2021-01-21T05:23:09.313 回答
0

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

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

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

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

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

于 2020-02-06T20:23:47.283 回答
0

如果您已经更新了 Debug 选项,但 Edit&Continue 仍然不起作用,请尝试清理并重建项目。(在 VS 2022 中为我工作)

于 2021-12-25T23:48:48.007 回答
0

在此之前,默认情况下启用运行时编译。对于面向 .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 安装

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

services.AddRazorPages().AddRazorRuntimeCompilation();

于 2021-07-06T14:46:51.550 回答
0

编辑并继续不起作用- 这已经为我修复了 - 它适用于 VS2017 并且最近开始发生(2019 年 3 月)。似乎 NCover 设置了系统变量 COR_ENABLE_PROFILING=1。卸载它为我摆脱了它。

于 2019-03-18T08:51:02.690 回答
-3

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

在此处输入图像描述

于 2021-02-12T19:18:29.983 回答