Microsoft.AspNetCore.Components.WebAssembly.Server 包的用途

Purpose of Microsoft.AspNetCore.Components.WebAssembly.Server package

我正在使用 ASP.NET Core 6。我正在尝试将 blazor 项目添加到包含 Web API 服务器项目的现有 monorepo。我 运行 dotnet new blazorwasm --hosted,生成的服务器项目包括这个 package:

<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly.Server" Version="6.0.4" />

它的用途是什么 - 我需要它吗? docs 说:

Provides types for hosting the Blazor development server locally. Intended for framework use only, not supported for use in application code.

令人困惑 - 为什么它包含在模板中?而且它没有隐藏在 Development 环境构建步骤之后。

此外,它与 Microsoft.AspNetCore.Components.WebAssembly.DevServer package 有何不同?

(生成的客户端 blazor 项目还引用了 Microsoft.AspNetCore.Components.WebAssemblyMicrosoft.AspNetCore.Components.WebAssembly.DevServer。我很好奇它们之间有何关联。)

如果您注释掉包然后重建服务器项目,您将在 Program 中得到以下错误:

它们包含在托管服务器项目中映射正确项目文件和基础结构的中间件。一个例子是映射客户端项目 wwwroot 目录。