相关疑难解决方法(0)

热重载在 Visual Studio 2022 .Net 6 Razor 项目中不起作用

我们刚刚在解决方案中将除一个之外的所有 Web 应用程序项目从 .NET Core 3.1 项目升级到 .NET 6。这些是使用 Razor 的 ASP.NET Core 3.1 项目。以下是我们在热重载方面看到的结果:

  1. .NET 6 项目热重载似乎不起作用。热重载已启用,但我们的前端从未更新。刷新页面似乎也没有显示更新。
  2. ASP.NET Core 3.1 项目热重载正在按预期工作。

当我们在 VS 2019 中运行这些项目时,我们可以刷新任何项目中的页面,我们将看到更新。我们是否缺少一些设置?

razor asp.net-core hot-reload .net-6.0 visual-studio-2022

17
推荐指数
2
解决办法
2万
查看次数

如何将Visual Studio调试选项重置为默认值?

在Visual Studio 2015社区中,如果单击Debug-> Options,我将获得以下可控选项:

在此输入图像描述

此外,在我单击Debug-> Windows-> Exception Settings后,我得到以下内容:

在此输入图像描述

我目前正在经历调试期间的市场步骤行为和其他奇怪行为 - 例如,一些例外被捕获而其他异常没有.

我宁愿只将所有上述选项重置为默认设置,而不是隔离特定选项并使其笨拙.但是,我没有看到如何实现这一目标.你能解释一下如何将它们重置为默认值吗?

visual-studio-2015

8
推荐指数
2
解决办法
2万
查看次数

Razor 运行时编译破坏了热重载,因此无法在 ASP.NET 中进行调试

命名法

这个问题与三个相关主题有关,这些主题允许开发人员在正在运行的应用程序中引入代码更改,而无需重建和重新启动所述应用程序:

  • 编辑并继续:Visual Studio 修改正在调试的程序集的功能。您可以在断点上(在某些限制内)编辑托管代码,它会神奇地应用于调试对象。
  • 热重载:随 Visual Studio 2022 引入,有点像“编辑并继续”,支持托管代码的运行时重新编译,而无需在断点处暂停,甚至不必从一开始就运行调试器。
  • Razor 运行时编译:通过在保存 .cshtml 文件时重新编译来编辑正在运行的应用程序的 Razor 视图。

设置

下面描述的问题也会发生在这些组件的早期版本的组合上。然后:

  • 启动 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+SF5 …

razor asp.net-core hot-reload visual-studio-2022

6
推荐指数
1
解决办法
1425
查看次数