我使用命令
dotnet new blazor
创建了一个 Blazor 应用程序。
但是,部署为静态 Web 应用程序失败并显示消息
index.html missing
。
dotnet new blazor
创建的应用需要非静态部署。
我能做到。
但我想知道是否以及如何将使用
dotnet new blazor
创建的 Blazor 应用程序迁移到 Blazor WASM 应用程序。
通过与此存储库进行比较,我们看到以下文件对应:
|
WASM |
---|---|
|
|
|
|
另外,我替换了
Program.cs
中的代码。
但是,构建失败并显示以下错误消息:
error CS0246: The type or namespace name 'BlazorBasic' could not be found (are you missing a using directive or an assembly reference?)
error CS0234: The type or namespace name 'WebAssembly' does not exist in the namespace 'Microsoft.AspNetCore.Components' (are you missing an assembly reference?)
我认为调整
_Imports.razor
会有所帮助,但它只会变得更糟(错误消息列表非常长,所以我不会把它放出来)。
那么我需要更改什么才能使使用
dotnet new blazor
创建的应用程序可以作为 Blazor WASM 应用程序执行?
我建议您创建一个空的
Standalone Blazor Web Assembly
项目并开始从当前项目“手动”填充它。
独立 wasm 更简单,因为它没有服务器端的东西,也没有渲染模式 - 它始终是 WASM。正如您所注意到的,入口点是通过index.html -> App.razor。
我相信,至少目前您缺少 WebAssembly NuGet 包?这些可能必须添加
Microsoft.AspNetCore.Components.WebAssembly
和
Microsoft.AspNetCore.Components.WebAssembly.DevServer
。但我认为当你比较两者并开始做“体力劳动”时,这一点会变得更加清楚。