15

我将我的 Web 应用程序从 Visual Studio 2019 移动到 2022(预览版 7),但我无法热重新加载即使是很小的更改(例如更改if(a=b)为)if(a!=b),并且需要停止调试器,而且我不确定“COMPLUS_ForceENC”环境变量是什么,不能找不到任何关于它的信息。

当我创建一个新的 Web 应用程序时,热重载在 C# 和 cshtml 上运行良好。

这是我对原始应用程序进行任何更改时显示的错误:

错误 ENC2004:在项目中所做的更改需要重新启动应用程序:当调试器已附加到已运行的进程时,不允许更改。考虑在启动进程之前设置“COMPLUS_ForceENC”环境变量。

4

5 回答 5

9

我将无法正常工作的热重载归咎于 VS,但在我的情况下,它是由尝试同时调试( F5 )和热重载引起的。热重载图标在此处输入图像描述根本不适用于 Blazor 应用程序。

解决方案非常简单。该应用程序需要在 调试的情况下启动( Ctrl+F5 )在此处输入图像描述

之后热重载工作正常。

于 2021-12-02T04:31:43.190 回答
3

可能是巧合,但在从 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 项目,我几乎可以肯定 Hot Reload 会起作用。

更新 3 我现在在 Dotnet Github 中打开了一个问题。您可以在那里关注问题。github.com/dotnet/aspnetcore/issues/38809

于 2021-11-30T19:00:14.387 回答
1

VisualStudio 2022 GA 版本也不适用于我 :( 看起来我不是唯一的,我注意到我有一个热重载功能的图标,与 Microsoft 宣传视频中显示的不同,我的是火焰,而工作版本似乎有两个火焰形成一个圆圈:(

我找到了这个

*在 Visual Studio 2022 GA 版本中,尚未启用使用 Visual Studio 调试器时对 Blazor WebAssembly 的热重载支持。如果您在没有调试器的情况下通过 Visual Studio 启动应用程序,您仍然可以获得热重载,我们正在努力在下一次 Visual Studio 更新中解决此问题。

如果我在没有附加调试器的情况下启动程序,我有热重载,或者我可以在没有热重载的情况下使用调试器运行应用程序,这是上面链接的文章所预期的,但启动事件非常具有误导性,因为他们从未提及这一点,也没有显示哪个在演示期间按下按钮以启动 blazor webasm 并进行热重载工作......无论如何,他们没有显示调试器和热重载为 blazor webasm 一起工作,所以看起来这一切都在我们的脑海中:(......我们需要等待

于 2021-11-09T17:04:08.967 回答
0

就我而言,我犯了一个愚蠢的错误,即尝试热重载在发布配置中运行的应用程序。确保它是调试:)

在此处输入图像描述

于 2022-02-23T16:43:26.083 回答
0

这是预览用户的常见问题。现在您可以更新稳定版本并享受包括热重载在内的全部功能。

请访问https://visualstudio.microsoft.com/下载稳定的 VS 2022 版本

于 2021-11-09T07:06:07.900 回答