bob*_*son 58 c# hot-reload visual-studio-2022
我将我的 Web 应用程序从 Visual Studio 2019 移至 2022(预览版 7),但我无法热重载,即使是很小的更改(例如更改if(a=b)
为)if(a!=b)
并且需要停止调试器,而且我不确定“COMPLUS_ForceENC”环境变量是什么,无法找不到任何关于它的东西。
当我创建新的 Web 应用程序时,热重载在 C# 和 cshtml 上运行得很好。
这是当我对原始应用程序进行任何更改时显示的错误:
错误 ENC2004:项目中所做的更改需要重新启动应用程序:当调试器已附加到已运行的进程时,不允许进行更改。考虑在启动进程之前设置“COMPLUS_ForceENC”环境变量。
小智 44
我将无法正常运行的热重载归咎于 VS,但就我而言,这是由于尝试同时进行调试( F5 )和热重载而引起的。热重载图标对于 Blazor 应用程序根本不起作用。
解决方案非常简单。该应用程序需要 在不调试的情况下启动(Ctrl+F5)
之后热重载就可以正常工作了。
Evi*_*lDr 29
聚会迟到了,但今天这开始让我发疯,因为每次我进入下一个语句时,调试器都会抛出这个问题。
对我来说解决方案是
遗憾的是,我在调试时无法让热重载工作,但这对我来说并不是真正的问题。
首先,热重载应该适用于调试Ctrl + F5
和 F5
调试,因此接受的答案是错误的。
在我的例子中,热重载不起作用,因为我的调试配置的命名与“调试”不同,它被命名为“LocalDebug”(但我确实正确设置了所有设置)。
MS 的 github 上有一个问题:https ://github.com/dotnet/aspnetcore/issues/43910
可能是巧合,但从 17.0.1 更新到 17.0.2 后它开始工作。这很奇怪,因为在更新日志中没有提到这样的错误修复。尝试更新到最新版本。
更新 似乎我只在我的新 .NET 6 项目中得到了这个工作。在迁移到 .NET 6 的旧版本中,这种情况仍然会发生。也许在未完全迁移到 .NET 6 且仍使用旧的startup.cs 文件的项目中将无法正常工作。在调试模式下,会显示更新通知,但内容不会更改,直到浏览器刷新。如果不在调试模式下,刷新浏览器不会执行任何操作。
更新 2 发现在新的 .net 6 Asp.net 网页项目中,如果我更改 .razor 文件,热重载效果很好,但在 .cshtml 文件中,我需要刷新浏览器才能看到更改。我有这两种文件类型,因为我在同一个项目中使用 razor Pages + Blazor。
如果您尝试创建 .Net 6 Blazor 项目,我几乎可以肯定热重载会起作用。
更新 3 我现在在 Dotnet Github 中打开了一个问题。您可以在那里关注该问题。github.com/dotnet/aspnetcore/issues/38809
VisualStudio 2022 GA 版本也不适合我:( 看起来我不是唯一的,我注意到我的热重载功能图标与 Microsoft 宣传视频中显示的图标不同,我的是火焰,而工作版本似乎有两个火焰,形成一个圆圈:(
\n我找到了这个
\n\n\n*在 Visual Studio 2022 GA 版本中,使用 Visual Studio 调试器时对 Blazor WebAssembly 的热重载支持尚未启用\xe2\x80\x99。\n如果在不使用调试器的情况下通过 Visual\nStudio 启动应用程序,则仍可以获得热重载,并且我们正在努力在下一个 Visual Studio 更新中\n解决此问题。
\n
如果我在没有附加调试器的情况下启动程序,我会进行热重载,或者我可以在没有热重载的情况下使用调试器运行应用程序,这是上面链接的文章所期望的,但启动事件非常具有误导性,因为他们从未提及这一点,也没有显示哪个在演示过程中按下按钮启动 blazor webasm 并进行热重载工作...无论如何,他们没有显示调试器和热重载一起为 blazor webasm 工作,所以看起来这一切都在我们的脑海中:( .. .我们需要等待
\n 归档时间: |
|
查看次数: |
75748 次 |
最近记录: |