我使用 Visual Studio 最新预览版和 .NET8 RC1 构建了一个新的 Blazor 应用程序,允许客户端和服务器交互组件。默认情况下,该应用程序有其默认渲染模式,我认为是 SSR。
为了切换到自动模式,我按照 Microsoft 的建议使用了以下代码(https://learn.microsoft.com/en-us/aspnet/core/blazor/components/render-modes?view=aspnetcore-8.0)
所以我有这个:
<Routes @rendermode="@RenderMode.Auto"/>
Run Code Online (Sandbox Code Playgroud)
在我的 App.razor 文件中。
尽管应用程序运行,但我在浏览器控制台中看到此错误:
Uncaught (in promise) Error: System.InvalidOperationException: Root component type 'BlazorApp9.Components.Routes' could not be found in the assembly 'BlazorApp9'.
at Microsoft.AspNetCore.Components.WebAssembly.Rendering.WebAssemblyRenderer.<UpdateRootComponents>g__AddRootComponent|8_0(RootComponentOperation operation)
at Microsoft.AspNetCore.Components.WebAssembly.Rendering.WebAssemblyRenderer.UpdateRootComponents(String operationsJson)
at Microsoft.AspNetCore.Components.RenderTree.WebRenderer.WebRendererInteropMethods.UpdateRootComponents(String operationsJson)
at
Run Code Online (Sandbox Code Playgroud)
如果我使用 RenderMode.Server,我不会看到此错误。
我没有对 Visual Studio 提供的模板更改任何代码。
有任何想法吗?
任何交互式组件(这是您Routes通过将其设置RenderMode为所创建的Auto组件)必须移动到 RC1 中的 WebAssembly/Client 项目。
这是必需的,因为Routes现在必须在 WASM 中构建并作为 WebAssembly 位的一部分发送到浏览器。
| 归档时间: |
|
| 查看次数: |
1120 次 |
| 最近记录: |