在我的项目中,这是一个混合项目(之前它是一个Web表单项目,然后我们将其修改为使用mvc模式)
现在我希望在debud模式下我想在我的cs文件中更改sthng 然后我想要更改的代码运行
我尝试启用或禁用工具 - >选项 - > debud - >编辑并继续复选框部分
启用时,我无法在调试时更改项目中的代码 当它被禁用时我可以改变代码,但它不会影响运行部分。 例如
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;
BTW我正在使用Visual Studio 2010版本。
答案 0 :(得分:8)
这不是我的问题;运行VS2017 RC2,我发现在工具 - >下选项 - >调试 - >准时制 - 我的#34;托管代码"被取消选择。
发出警告"另一个调试器已将自己注册为Just-In-Time调试器。通过启用实时调试或运行Visual Studio修复来修复"。
我没有注册任何其他调试工具!所以不知道为什么它没有被攻击......
所以修复只是勾选"管理"框....
答案 1 :(得分:3)
此问题的解决方案在Microsoft文档中...启用工具后 - >选项 - > debud - >编辑并继续....还有更多工作要做..
如果启用了IntelliTrace并且您同时收集了IntelliTrace事件和呼叫信息,则会禁用“编辑并继续”。
在视觉工作室'菜单转到工具>>选项 - 选择" IntelliTrace"选项卡,只允许 IntelliTrace事件检查..保存,重新启动visual studio并.......
您的编辑和继续将再次有效!
答案 2 :(得分:3)
答案 3 :(得分:1)
答案 4 :(得分:0)
Edit & Continue doesn't work-这已为我修复-适用于VS2017,最近开始发生(2019年3月)。 似乎NCover设置了系统变量COR_ENABLE_PROFILING = 1。卸载它对我来说摆脱了它。
答案 5 :(得分:0)
答案 6 :(得分:0)
修复VS安装,并升级到最新的VS2017版本:15.9.19为我解决了该问题。
h-rai的答案为我提供了所需的线索:取消选中“本机”复选框将显示一条警告,指出已注册了另一个JIT调试器。
然后,我在本文here
中发现了更多线索也许,我的问题是由于安装了新的.NET core 3.1而尚未将VS2017升级到VS2019引起的。
现在,当我取消选中“本机”复选框时,我没有收到有关另一个JIT调试器的警告,并且可以在再次调试时修改代码。
答案 7 :(得分:0)
我发现我的
VS2019: Project (context menu) =>
Properties =>
Debug =>
Debugger engines =>
Enable native code debugging
已开启。取消选中此项后,我的“编辑并继续”问题消失了!
注意:在此发现之前,我曾尝试建议修复(此处)。
答案 8 :(得分: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 安装
运行以下命令:
安装包 Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation -Version 5.0.7
并在启动文件中添加以下行
services.AddRazorPages().AddRazorRuntimeCompilation();
答案 9 :(得分:-3)
只需按 Break All 按钮,然后编辑您的代码,然后按 Continue。 这对我来说就像一种魅力