配置适用于 ASP.NET Core Blazor 的裁边器

注意

此版本不是本文的最新版本。 对于当前版本,请参阅此文的 .NET 8 版本

警告

此版本的 ASP.NET Core 不再受支持。 有关详细信息,请参阅 .NET 和 .NET Core 支持策略。 对于当前版本,请参阅此文的 .NET 8 版本

重要

此信息与预发布产品相关,相应产品在商业发布之前可能会进行重大修改。 Microsoft 对此处提供的信息不提供任何明示或暗示的保证。

对于当前版本,请参阅此文的 .NET 8 版本

本文介绍在构建 Blazor 应用时如何控制中间语言 (IL) 裁边器。

Blazor WebAssembly 执行中间语言 (IL) 剪裁以减小发布输出的大小。 在发布应用时进行剪裁。

剪裁可能会对已发布的应用产生不利影响。 在使用反射的应用中,IL 剪裁器通常无法确定运行时反射所需的类型并将其剪裁掉。 例如,JS 互操作的复杂框架类型(如 KeyValuePair)可能会被剪裁,并且在运行时不可用于 JS 互操作调用。 在这些情况下,我们建议改为创建自己的自定义类型。 IL 剪裁器也无法在运行时对应用的动态行为作出响应。 若要确保剪裁后的应用在部署后正常工作,请在开发时经常对已发布的输出进行测试。

配置

若要配置 IL 剪裁器,请参阅 .NET 基础知识文档中的剪裁选项一文,其中包括有关以下主题的指导:

  • 通过项目文件中的 <PublishTrimmed> 属性对整个应用禁用剪裁。
  • 控制 IL 剪裁器如何放弃未充分利用的 IL。
  • 阻止 IL 剪裁器剪裁特定程序集。
  • 要剪裁的“根”程序集。
  • 通过在项目文件中将 <SuppressTrimAnalysisWarnings> 属性设置为 false 来显示关于反射的类型的警告。
  • 控制符号剪裁和调试程序支持。
  • 设置 IL 剪裁器功能以剪裁框架库功能。

默认剪裁器粒度

Blazor 应用的默认剪裁器粒度为 partial。 若要剪裁所有程序集,请在应用的项目文件中将粒度更改为 full

<ItemGroup>
  <TrimMode>full</TrimMode>
</ItemGroup>

有关详细信息,请参阅《剪裁选项》(.NET 文档)

其他资源