配置适用于 ASP.NET Core Blazor 的裁边器
注意
此版本不是本文的最新版本。 对于当前版本,请参阅此文的 .NET 8 版本。
警告
此版本的 ASP.NET Core 不再受支持。 有关详细信息,请参阅 .NET 和 .NET Core 支持策略。 对于当前版本,请参阅此文的 .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 文档)。