設定 ASP.NET Core Blazor 的修剪器
注意
這不是這篇文章的最新版本。 如需目前的版本,請參閱 本文的 .NET 9 版本。
警告
不再支援此版本的 ASP.NET Core。 如需詳細資訊,請參閱 .NET 和 .NET Core 支持原則。 如需目前的版本,請參閱 本文的 .NET 9 版本。
本文說明如何在建置 Blazor 應用程式時,控制中繼語言 (IL) 修剪器。
Blazor WebAssembly 會執行中繼語言 (IL) 修剪,以減少已發佈輸出的大小。 發佈應用程式時會發生修剪。
針對已發佈應用程式修剪可能造成有害的影響。 在使用反映的應用程式中,IL 修剪器通常無法判斷執行階段反映所需的類型,並且一律修剪。 舉例來說,JS Interop 的複雜架構類型 (例如 KeyValuePair) 可能會被修剪,而且無法在執行階段供 JS Interop 呼叫使用。 在這些情況下,建議您改為建立自己的自訂類型。 IL 修剪器也無法在執行階段對應用程式的動態行為做出反應。 為了確保已修剪的應用程式在部署後正常運作,請在開發時經常測試已發佈的輸出。
組態
若要設定 IL 修剪器,請參閱 .NET 基本概念文件中的修剪選項一文,其中包含下列主題的指引:
- 使用專案檔中的
<PublishTrimmed>
屬性,停用整個應用程式的修剪。 - 控制 IL 修剪器積極捨棄未使用 IL 的方式。
- 停止 IL 修剪器修剪特定組件。
- 用於修剪的「根」組件。
- 在專案檔中將
<SuppressTrimAnalysisWarnings>
屬性設定為false
,以針對反映的類型顯露警告。 - 控制符號修剪和偵錯工具支援。
- 設定 IL 修剪器功能以便修剪架構程式庫功能。
預設修剪器粒度
Blazor 應用程式的預設修剪器粒度為 partial
。 若要修剪所有組件,請在應用程式的專案檔中將粒度變更為 full
:
<ItemGroup>
<TrimMode>full</TrimMode>
</ItemGroup>
如需詳細資訊,請參閱修剪選項 (.NET 文件)。