我们刚刚在解决方案中将除一个之外的所有 Web 应用程序项目从 .NET Core 3.1 项目升级到 .NET 6。这些是使用 Razor 的 ASP.NET Core 3.1 项目。以下是我们在热重载方面看到的结果:
当我们在 VS 2019 中运行这些项目时,我们可以刷新任何项目中的页面,我们将看到更新。我们是否缺少一些设置?
在Visual Studio 2015社区中,如果单击Debug-> Options,我将获得以下可控选项:
此外,在我单击Debug-> Windows-> Exception Settings后,我得到以下内容:
我目前正在经历调试期间的市场步骤行为和其他奇怪行为 - 例如,一些例外被捕获而其他异常没有.
我宁愿只将所有上述选项重置为默认设置,而不是隔离特定选项并使其笨拙.但是,我没有看到如何实现这一目标.你能解释一下如何将它们重置为默认值吗?
这个问题与三个相关主题有关,这些主题允许开发人员在正在运行的应用程序中引入代码更改,而无需重建和重新启动所述应用程序:
下面描述的问题也会发生在这些组件的早期版本的组合上。然后:
启动 Visual Studio 2022
创建在 .NET 6 或 7 上运行的 ASP.NET Core Web 应用程序
添加 NuGet 包 Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation
将生成的 Program.cs 代码更改为以下内容以添加 Razor 运行时编译:
// Add services to the container.
var mvcBuilder = builder.Services.AddRazorPages();
#if DEBUG
mvcBuilder.AddRazorRuntimeCompilation();
#endif
Run Code Online (Sandbox Code Playgroud)
现在在任何视图中设置一个断点Index.cshtml就可以了,然后运行应用程序。
一旦到达断点,就更改一些 Razor 代码。或者不这样做,这些问题也会因打开(多个?).cshtml 文件而触发。
然后点击Ctrl+S并F5 …