Visual Studio 2022 .Net 6 Razor项目中的热重载无法工作。

16

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

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

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


1
什么具体没有重新加载?如果是剃刀视图 - 请尝试回答此问题 - Guru Stron
1
你真是救星!这就是我们的解决方案。我们没有更新 RazorRuntimeCompilation,并且需要在 launchsettings.json 中添加一个设置。这就是为什么我们一直犹豫不决是否要升级到 VS 2022 的原因。谢谢! - user3002092
4个回答

15

感谢Guru Stron!他在我的问题中的评论指导我去了解应该看哪里。我们需要:

  1. 更新我们的Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation Nuget包
  2. 将以下内容添加到我们的launchsettings.json: ASPNETCORE_HOSTINGSTARTUPASSEMBLIES为"Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation"

此答案解决了我们的问题 - .NET Core MVC页面在更改后不会刷新


3
对我来说,NuGet包已经足够了。 - Dirk Boer
1
嗯...我在一个MVC应用程序上遇到了问题,正在努力修复。我甚至没有那个包。有人知道如何为MVC修复吗? - undefined

13

首先,确保所有选项都被选中

输入图像描述

在热重载中,您可以选择在文件保存时启用热重载(默认情况下未选择),然后VS将在您使用ctrl+s之后进行热重载;

输入图像描述

演示

输入图像描述


1
谢谢您的回复。不幸的是,我们已经尝试过这个方法,但对我们来说仍然无效。 - user3002092
我觉得在“工具选项”中勾选第三个热重载选项对我的MVC应用程序有用。谢谢。 - undefined

1
我曾经遇到同样的问题,尝试了很多方法,包括回滚版本和在Program.cs中添加.AddRazorRuntimeCompilation(),但依然无法解决。我做的是,在单击热重载按钮菜单栏中的向下箭头以打开菜单时,重新勾选“文件保存时热重载”选项。这对我起了作用。
希望这也可以解决你的问题。

0
除了所有其他好的建议,我的情况有所不同。
我遇到了同样的问题。有两个项目在运行,第一个是API。在单独启动API项目后(右键点击项目名称,调试>开始...),我实际上只运行了我的Blazor WASM项目。然后,热重载开始对Blazor WASM项目起作用。
希望对有类似问题的人有所帮助。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接