[英]Unable to Hot Reload on Visual Studio 2022
我将我的 web 应用程序从 Visual Studio 2019 移到了 2022(预览版 7),但我无法热重载即使是小的更改,例如将if(a=b)
更改为if(a!=b)
并且需要停止调试器,并且我不确定“COMPLUS_ForceENC”环境变量是什么,找不到任何相关信息。
当我创建一个新的 web 应用程序时,热重载在 C# 和 cshtml 上运行良好。
这是我对原始应用程序进行任何更改时显示的错误:
错误 ENC2004:项目中所做的更改需要重新启动应用程序:当调试器已附加到已运行的进程时,不允许更改。 考虑在启动进程之前设置“COMPLUS_ForceENC”环境变量。
这是预览版用户的常见问题。 现在您可以更新稳定版本并享受包括热重载在内的全部功能。
请访问https://visualstudio.microsoft.com/下载稳定的 VS 2022 版本
VisualStudio 2022 GA 版本也不适用于我 :( 看起来我不是唯一一个,我注意到我有一个热重载功能图标与 Microsoft 宣传视频中显示的图标不同,我的是火焰,而工作版本似乎有两个火焰形成一个圆圈:(
我找到了这个
*在 Visual Studio 2022 GA 版本中,尚未启用在使用 Visual Studio 调试器时对 Blazor WebAssembly 的热重载支持。 如果你在没有调试器的情况下通过 Visual Studio 启动你的应用程序,你仍然可以获得热重载,我们正在努力在下一个 Visual Studio 更新中解决这个问题。
如果我在没有附加调试器的情况下启动程序,我有热重载,或者我可以在没有热重载的情况下使用调试器运行应用程序,这是上面链接的文章所预期的,但启动事件非常具有误导性,因为他们从未提及这一点,也没有显示哪个在演示期间按下按钮以启动热重载工作的 blazor webasm...无论如何,他们没有显示调试器和热重载为 blazor webasm 一起工作,所以看起来这一切都在我们的脑海中:(...我们需要等待
可能是巧合,但从 17.0.1 更新到 17.0.2 后,它开始工作了。 这很奇怪,因为在更新日志中没有提到这样的错误修复。 尝试更新到最新版本。
就我而言,这是由于我在.csproj
文件中禁用了 Razor 源生成器<UseRazorSourceGenerator>false</UseRazorSourceGenerator>
。 将其设置回true
可以解决问题。
可能会帮助某人。 我在我的 Web 项目中删除了对 Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation 的引用,并在我的启动和 HotReload 工作中删除了代码......
首先,热重载应该适用于Ctrl + F5
和F5
调试,所以接受的答案是错误的。
在我的情况下,热重载不起作用,因为我的调试配置的命名与“调试”不同,它被命名为“LocalDebug”(但我确实正确设置了所有设置)。
MS的github有一个问题: https://github.com/dotnet/aspnetcore/issues/43910
就我而言,这是因为我没有在 launchSettings.json 文件中使用“hotReloadProfile”
“IIS Express”:{“commandName”:“IISExpress”,“hotReloadProfile”:“aspnetcore”,“launchBrowser”:true,“environmentVariables”:{“ASPNETCORE_ENVIRONMENT”:“开发”
对我来说,还有另一个正在运行的 VBCSCompiler 进程。 在我结束任务管理器中的额外进程后,Hot Reload 开始工作。
我也有热重载不工作的问题,原因是这一行:
app.UseResponseCompression();
查看更多信息她:
https://github.com/dotnet/aspnetcore/issues/43939#issuecomment-1245382809
我发现热重载不起作用的另一个原因是触发热重载时已经发生了 UI 更改。
我发现如果我在页面上过快地执行热重载,它会抛出热重载错误。 但是,如果我打开检查并等待所有页面/网络更新停止,然后再进行热重载,热重载就会成功。
这在调试器内外都适用于 Blazor WASM。
在尝试解决一个单独的问题时,我在我的项目中启用了本机调试,这导致了这个问题。 再次禁用它后,我可以热重新加载。
https://www.technipages.com/visual-studio-native-code-debugging
- 打开项目,选择“项目”选项卡,然后选择“appname 属性...”。
- 在左窗格中选择“调试”。
- 选中“启用本机代码调试”框以启用它。 取消选中它以禁用它。
(强调我的)
我知道这可能是大多数人最先尝试的事情之一,但我刚刚重新启动了 Visual Studio,它再次运行。
我遇到了同样的问题。 热重载不工作。 我使用的是 VS 2022 和 .Net Core 6,并使用这样的服务;
builder.Services.AddRazorPages().AddRazorRuntimeCompilation();
当我删除“AddRazorRuntimeCompilation()”时。 热重载工作。
有时它有助于保存您的项目,关闭它。 关闭 visual studio 并重新启动它。 通常错误会立即消失..
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.