调试 Blazor WASM(Aspnet 托管)时无法使用热重载

     2023-03-27     186

关键词:

【中文标题】调试 Blazor WASM(Aspnet 托管)时无法使用热重载【英文标题】:Unable to use Hot Reload while debugging Blazor WASM (Aspnet hosted) 【发布时间】:2021-12-17 22:10:53 【问题描述】:

如果我创建一个新的 Blazor WASM 应用程序,我可以通过在终端窗口中运行 dotnet watch run 来使用热重载。这将启动一个浏览器窗口,我所做的任何更改都会在浏览器中自动更新。

但是,如果我在带有调试器 (F5) 的 Visual Studio 中启动我的应用程序,我不会获得任何热重载功能。当我进行更改时,Visual Studio 会在左下角显示一条消息 Code Changes were applied successfully,但浏览器不会刷新。如果我手动刷新浏览器,我仍然看不到我的更改。

我已选中“保存时热重载”。按下新的 Hot Reload 按钮似乎没有任何作用。

浏览器刷新脚本注入到我的html中。 <script src="/_framework/aspnetcore-browser-refresh.js"></script>

我正在使用 Visual Studio 2022 版本 17.0.0 预览版 7.0 和 dotnet 6 RC 2 (6.0.0-rc.2.21480.10)。

在调试 Blazor WASM 应用程序时无法使用热重载,还是我遗漏了什么?

【问题讨论】:

【参考方案1】:

更新

自 Visual Studio 2022 版本 17.1 起,此错误已得到修复。


后代

在 WebAssembly 应用程序中使用调试器时,当前不支持此功能。 According to Microsoft:

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

According to Microsoft,这将在 VS 2022 的 17.1 版本中修复。

该修复将包含在 17.1 版本中。

Visual Studio 2022 的最新 preview 版本(2022 年 1 月 5 日发布的 17.1.0 Preview 2)包含对此的修复。我亲自对此进行了测试并验证了它的工作原理。请注意,如果您不想使用预览频道,则仍需要等待 17.1。

【讨论】:

我认为这个答案应该是一个评论...... @enet 你怎么看?老实说,我对这个建议感到困惑。如果这个问题是有效的,那么这就是问题的答案。 您的回答只是说明该功能尚不支持,并提供了文档链接。同样,在我看来,它应该是一个评论,而不是一个答案。我不认为你违反了***的规则,但我觉得它有问题...... 我也对“应该是评论”的建议感到困惑。问题是“这可能吗?”这是一个非常好的答案。 我找到了一种解决方法,方法是使用 CTRL+F5 并在主机完成加载后将调试器附加到进程。它可以正常工作,但重复起来可能有点乏味。使用视觉工作室 2022 专业版。能以某种方式实现自动化吗?【参考方案2】:

现已修复,只需将 Visual Studio 2022 更新到最新版本 (v17.1)!

当 Microsoft 首次发布 VS 2022 时,他们澄清说 WASM 不完全支持 Hot Reload,他们希望在未来的 VS 2022 补丁中支持它。

https://devblogs.microsoft.com/dotnet/update-on-net-hot-reload-progress-and-visual-studio-2022-highlights/

Blazor Wasm 是一个例外,它仅在今天在没有调试器的情况下启动您的应用时才有效,但我们将在未来的更新中解决此问题,如前所述。

他们已在 2022 年 2 月 15 日正式发布的 VS 2022 版本 17.1 中包含此修复程序。

我已更新并且可以确认调试时热重载对我有用!

【讨论】:

未注册身份验证 AuthenticationStateProvider 的 Blazor Wasm 托管预渲染

】未注册身份验证AuthenticationStateProvider的BlazorWasm托管预渲染【英文标题】:BlazorWasmHostedPrerenderwithAuthenticationAuthenticationStateProvidernotregistered【发布时间】:2021-03-0203:09:11【问题描述】:我有一个使用BlazorWebAssemblyHostedwithAuthenticati... 查看详情

IdentityServerBuilderConfigurationExtension 中的 Blazor WASM 托管身份验证空引用异常

】IdentityServerBuilderConfigurationExtension中的BlazorWASM托管身份验证空引用异常【英文标题】:BlazorWASMHostedAuthenticationNullReferenceExceptioninIdentityServerBuilderConfigurationExtension【发布时间】:2021-03-0122:23:30【问题描述】:我有一个使用IdentityS... 查看详情

升级到 .net 6 时托管的 Blazor WASM 身份验证中断

】升级到.net6时托管的BlazorWASM身份验证中断【英文标题】:BlazorWASMHostedwithAuthenticationBreakswhenupgradingto.net6【发布时间】:2021-12-2718:40:01【问题描述】:我有一个使用用户身份验证托管的BlazorWASM,它正在运行.net5,我已升级到.net6... 查看详情

使用身份验证托管的 Blazor Wasm 上出现 Azure 500 错误

】使用身份验证托管的BlazorWasm上出现Azure500错误【英文标题】:Azure500erroronaBlazorWasmHostedwithAuthentication【发布时间】:2021-04-1111:49:17【问题描述】:我在这里完全不知所措。我有一个运行.net5的BlazorWASM托管,它已部署到Azure应用... 查看详情

C#:如何在 Blazor Wasm 托管中将动态 Razor 组件从服务器发送到客户端?

】C#:如何在BlazorWasm托管中将动态Razor组件从服务器发送到客户端?【英文标题】:C#:HowtosendDynamicRazorComponentsfromServertoClientinBlazorWasmHosted?【发布时间】:2021-02-0809:22:17【问题描述】:我想在Blazorwasm托管项目中呈现动态剃须刀组... 查看详情

使用 gRPC 服务器作为主机调试 Blazor Webassembly

】使用gRPC服务器作为主机调试BlazorWebassembly【英文标题】:DebuggingBlazorWebassemblywithgRPCServerasHosting【发布时间】:2021-12-1621:03:19【问题描述】:我有一个BlazorWASM应用程序,该应用程序应托管在后端中,该后端是使用ASP.NET上的gRPC... 查看详情

如何更改 blazor wasm 应用程序的基本 URL

】如何更改blazorwasm应用程序的基本URL【英文标题】:HowtochangethebaseURLofablazorwasmapp【发布时间】:2021-06-2523:06:33【问题描述】:为blazorwasm托管应用程序生成的模板具有从“/”开始的基本URL(即,用于本地开发的https://localhost:5001/... 查看详情

如何绕过 blazor wasm 路由系统并调用服务器

】如何绕过blazorwasm路由系统并调用服务器【英文标题】:Howtobypassblazorwasmroutingsystemandmakecallstotheserver【发布时间】:2021-06-0214:38:20【问题描述】:我有一个blazorwasm托管应用程序,用户可以通过填写表格来创建帐户。创建帐户后... 查看详情

无法从 Visual Studio 2019 16.6.2 调试 Blazor 托管的 webassembly 3.2.0

】无法从VisualStudio201916.6.2调试Blazor托管的webassembly3.2.0【英文标题】:UnabletodebugBlazorhostedwebassembly3.2.0fromVisualStudio201916.6.2【发布时间】:2020-10-0213:46:49【问题描述】:我已安装VisualStudio201916.6.2,以及.NETCore3.1.301SDK和所有必要的Bl... 查看详情

Blazor WASM AzureAD IdentityServer 导致 AADSTS90023:公共客户端无法发送客户端密码

】BlazorWASMAzureADIdentityServer导致AADSTS90023:公共客户端无法发送客户端密码【英文标题】:BlazorWASMAzureADIdentityServerresultsinAADSTS90023:Publicclientscan\'tsendaclientsecret【发布时间】:2022-01-1502:06:15【问题描述】:我正在尝试在BlazorWASM(Asp.... 查看详情

如何正确部署 Blazor WebAssembly(托管)应用程序?

】如何正确部署BlazorWebAssembly(托管)应用程序?【英文标题】:HowtocorrectlydeployBlazorWebAssembly(hosted)app?【发布时间】:2020-05-0611:44:24【问题描述】:我正在按照此处所述如何部署BlazorWebAssembly(HOSTED)的说明进行操作https://docs.microso... 查看详情

具有 ReportViewer 导出功能的 Blazor (Wasm)

】具有ReportViewer导出功能的Blazor(Wasm)【英文标题】:Blazor(Wasm)withReportViewerexport【发布时间】:2021-12-0100:59:11【问题描述】:我正在按照此视频中的说明进行操作:https://www.youtube.com/watch?v=7V0Yb5drLgQ当链接直接放入我剃须刀的组件h... 查看详情

Blazor WASM - 流畅的验证

】BlazorWASM-流畅的验证【英文标题】:BlazorWASM-FluentValidation【发布时间】:2021-09-1719:49:24【问题描述】:我在自定义验证器中创建了以下规则:publicclassAddInvoiceParameterCommandValidator:AbstractValidator<AddInvoiceParameterCommand>publicAddInvoi... 查看详情

Blazor 客户端 (WASM) 应用程序洞察

】Blazor客户端(WASM)应用程序洞察【英文标题】:BlazorClientSide(WASM)ApplicationInsights【发布时间】:2020-05-1708:48:45【问题描述】:ApplicationInsightsSDK是否适用于BlazorWASM?我正在尝试连接我的应用程序,但它没有发送任何指标。即使在... 查看详情

Blazor WASM 视图模型

】BlazorWASM视图模型【英文标题】:BlazorWASMViewModel【发布时间】:2021-07-3009:50:10【问题描述】:过去一年我做了很多Razor页面,几周前我开始将所有页面转换为我的Blazor服务器应用程序的ViewModel。现在我认为是时候制作一个新的Bl... 查看详情

Blazor Wasm 身份登录/注销事件

】BlazorWasm身份登录/注销事件【英文标题】:BlazorWasmIdentityLogin/Logoutevent【发布时间】:2021-06-0815:06:54【问题描述】:在使用来自Wasm模板的标准身份的.Net5BlazorWASM应用程序中,我想在用户登录(或注销)时执行一些操作。我已经... 查看详情

Blazor Wasm 身份验证

】BlazorWasm身份验证【英文标题】:BlazorWasmAuthentication【发布时间】:2021-11-0515:24:37【问题描述】:我正在尝试构建一个blazorwasm应用程序并尝试使用Jwt令牌进行身份验证。我面临一个有趣的问题。当我登录时,我无法访问具有[Aut... 查看详情

Blazor WASM 中的 MudSelect 问题

】BlazorWASM中的MudSelect问题【英文标题】:MudSelectIssueinBlazorWASM【发布时间】:2021-04-2211:53:17【问题描述】:我是BlazorWASM的新手,我正在开发一个使用MudBlazor的项目。但是,我对MudSelect有疑问。我想在MudSelect中显示部门名称。但... 查看详情