为什么从默认的 Blazor WASM 项目中删除 FetchData.razor 会导致它在 Azure App Services 中失败?

Why does removing FetchData.razor from a default Blazor WASM project cause it to fail in Azure App Services?

我正在尝试将托管的 Blazor WASM 发布到 Azure 应用服务。我正在使用 VS 2019 和 .NET 5.0(VS 2019 表示它不支持 .NET 6.0)。我通过 VS UI 创建了一个默认托管的 Blazor WASM,当我将服务器项目发布到一个新的 Azure 应用服务(所有默认设置)时,一切运行正常。

但是,当我删除 FetchData.razor 组件并重新发布时,我的控制台出现以下错误:

Uncaught (in promise) Can't find bindings module assembly: System.Private.Runtime.InteropServices.JavaScript blazor.webassembly.js:1

我完全不明白为什么在从项目中删除剃刀页面时会发生此错误。我搜索了该项目,其他任何地方都没有引用它。当我重新添加页面并突然重新发布时,它又能正常工作了。 运行 'dotnet watch run' 本地应用程序运行良好。

如果有人也能够复制它或对如何修复它有任何想法,我将不胜感激。

只是抛出一个想法,你删除了 fetchdata.razor 文件,但在文件 NavMenu.razor 中可能仍然有对此的引用,就像这样

 <div class="nav-item px-3">
            <NavLink class="nav-link" href="fetchdata">
                <span class="oi oi-list-rich" aria-hidden="true"></span> Fetch data
            </NavLink>
 </div>

所以尝试从您的项目中删除上面的代码,看看是否一切正常!