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

lon*_*nix 7 c# asp.net-core blazor asp.net-core-6.0

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

<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly.Server" Version="6.0.4" />
Run Code Online (Sandbox Code Playgroud)

它的目的是什么——我需要它吗?文档说

提供用于在本地托管 Blazor 开发服务器的类型。仅适用于框架,不支持在应用程序代码中使用。

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

Microsoft.AspNetCore.Components.WebAssembly.DevServer 另外,它与包装有什么不同?

(生成的客户端 blazor 项目还引用Microsoft.AspNetCore.Components.WebAssemblyMicrosoft.AspNetCore.Components.WebAssembly.DevServer。我很好奇所有这些是如何相关的。)

MrC*_*tis 6

如果您注释掉该包,然后重建服务器项目,您将在以下位置收到以下错误Program

在此输入图像描述

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

  • 基本上“Microsoft.AspNetCore.Components.WebAssembly.DevServer”是一个开发服务器可执行文件(不是库),它基于库“Microsoft.AspNetCore.Components.WebAssembly.Server”(请参阅​​[此处](https://github .com/dotnet/aspnetcore/blob/8ba6e945c6023543a150b482e5d8387e4f6804a6/src/Components/WebAssembly/DevServer/src/Microsoft.AspNetCore.Components.WebAssembly.DevServer.csproj#L23)) (2认同)