如何将 Blazor 包含到现有项目中?

How to include Blazor to existing project?

我有一个现有项目,我想将 Blazor 添加到我的项目中,但是在 Internet 上可用的所有信息中,我还没有找到如何执行此操作。我找到的只是关于如何将 js 添加到 blazor 页面。

假设您的应用程序想要使用客户端 Blazor,这将是最简单的集成形式。此外,我将假设您使用 ASP.NET Core 进行简化。

  1. 您创建了 Blazor 客户端应用程序。这个应用程序将是完全独立的,最终将只是 WASM 代码 + 由 Mono WASM 解释的 .NET Dll。
  2. 在 Startup.cs 的 Startup.cs 的 ASP.NET 核心应用程序中,您要在其中集成 Blazor,在下面添加行
services.AddResponseCompression(opts =>
{
    opts.MimeTypes = ResponseCompressionDefaults.MimeTypes.Concat(new[] { "application/octet-stream" });
});

https://github.com/aspnet/AspNetCore/blob/master/src/Components/Blazor/Templates/src/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Server/Startup.cs#L18-L22

  1. 在 Startup.cs 的 Startup.cs 的 ASP.NET 核心应用程序中,您要在其中集成 Blazor,在下面添加行
app.UseBlazor<BlazorAppClient.Startup>();

其中 BlazorAppClient.Startup 是您之前创建的 Blazor 独立应用程序的启动 class。 参见 https://github.com/aspnet/AspNetCore/blob/master/src/Components/Blazor/Templates/src/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Server/Startup.cs#L43

所有这些都假设您使用最新的 .NET Core 3 Preview 5 位。