Fro*_*sch 11 visual-studio blazor hot-reload blazor-server-side .net-6.0
我的问题
我使用的是 Visual Studio Professional 2022 版本 17.2.5,并且有一个针对 .NET 6 的 Blazor Server 项目,其中热重载功能让我很头疼。这个功能在我的其他项目中运行良好,构建方式完全相同。
问题描述
热重载功能似乎仅在涉及C#代码隐藏时才起作用。但是,在我的.razor文件中,热重载不起作用。当我对文本进行简单的更改并单击“保存”时,我注意到 Visual Studio 底部出现以下消息:
未发现代码更改。
因此,没有热重载。这在我的其他项目中不是问题,当我对它们进行相同的更改时,我收到消息:
项目
已成功应用已保存的代码更改。
热重载按预期工作。
我想指出的是,我希望它能够像在我的其他项目中一样运行,只需单击“保存”或单击“热重载”按钮即可。我不想dotnet watch --project run
每次都必须使用然后等待它重新编译。
设置和我尝试过的
Tools > Options > Debugging > .NET / C++ Hot Reload
并确保所有这些设置都已检查。launchSettings.json
两个项目的文件,它们看起来是一样的。Program.cs
两个项目的文件。在我看来,没有什么明显的原因。dotnet watch run
方法并且有效。它说启用了热重载,但是为了使任何微小的更改生效,项目都会重新编译 - 我不希望这样。编辑
我尝试过使用和不使用调试器运行该项目,没有区别。
根据 Scott Perry 的建议,我尝试关闭 VS 并删除.vs
、bin
和obj
文件夹,然后重新加载我的项目。依然没有。
那么,有人知道这个项目可能出了什么问题吗?关于我应该研究什么的任何见解?
谢谢
我终于弄清楚了。
在我的.csproj
文件中,我有以下代码:
<PropertyGroup>
<TargetFramework>net6.0</TargetFramework>
<Nullable>enable</Nullable>
<ImplicitUsings>enable</ImplicitUsings>
<UseRazorSourceGenerator>false</UseRazorSourceGenerator>
</PropertyGroup>
Run Code Online (Sandbox Code Playgroud)
我不确定为什么我<UseRazorSourceGenerator>
在那里有一行开头...但是将值设置为true
类似于下面更新的代码解决了我的热重载问题。
<PropertyGroup>
<TargetFramework>net6.0</TargetFramework>
<Nullable>enable</Nullable>
<ImplicitUsings>enable</ImplicitUsings>
<UseRazorSourceGenerator>true</UseRazorSourceGenerator>
</PropertyGroup>
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2307 次 |
最近记录: |