ASP.NET Core Blazor 用のトリマーを構成する
注意
これは、この記事の最新バージョンではありません。 現在のリリースについては、この記事の .NET 9 バージョンを参照してください。
警告
このバージョンの ASP.NET Core はサポート対象から除外されました。 詳細については、「.NET および .NET Core サポート ポリシー」を参照してください。 現在のリリースについては、この記事の .NET 8 バージョンを参照してください。
重要
この情報はリリース前の製品に関する事項であり、正式版がリリースされるまでに大幅に変更される可能性があります。 Microsoft はここに示されている情報について、明示か黙示かを問わず、一切保証しません。
現在のリリースについては、この記事の .NET 9 バージョンを参照してください。
この記事では、Blazor アプリを構築するときに、中間言語 (IL) トリマーを制御する方法について説明します。
Blazor WebAssembly では、発行された出力のサイズを縮小するために、中間言語 (IL) トリミングが実行されます。 トリミングはアプリの発行時に行われます。
トリミングは、発行されたアプリに悪影響を及ぼす可能性があります。 リフレクションを使用するアプリの場合、トリマーで実行時のリフレクションに必要な型を判断し、トリミングできないことがしばしばあります。 たとえば、KeyValuePair など、JS の相互運用のための複雑なフレームワーク型はトリミングされ、実行時に JS 相互運用呼び出しには使用できない場合があります。 このような場合は、代わりに独自のカスタム型を作成することをお勧めします。 IL トリマーは、実行時にアプリの動的な動作に反応することもできません。 展開後、トリミングされたアプリが確実に正しく機能するよう、発行された出力を開発中に頻繁にテストしてください。
構成
IL トリマーを構成するには、.NET の基礎ドキュメントのトリミング オプションに関する記事を参照してください。次の項目に関するガイダンスが含まれています。
- プロジェクト ファイルの
<PublishTrimmed>
プロパティを使用し、アプリ全体のトリミングを無効にします。 - 使用されていない IL を IL トリマーによって破棄する積極度を制御します。
- 特定のアセンブリのトリミングを IL トリマーに禁止します。
- トリミング用の "ルート" アセンブリ。
- プロジェクト ファイルで
<SuppressTrimAnalysisWarnings>
プロパティをfalse
に設定することで、リフレクションされた型の警告を表示します。 - シンボル トリミングとデバッガー サポートを制御します。
- フレームワーク ライブラリ機能をトリミングするための IL トリマー機能を設定します。
既定のトリマーの細分性
Blazor アプリの既定のトリマーの細分性は partial
です。 すべてのアセンブリをトリミングするには、以下のようにアプリのプロジェクト ファイルで細分性を full
に変更します。
<ItemGroup>
<TrimMode>full</TrimMode>
</ItemGroup>
詳細については、「トリミング オプション (.NET ドキュメント)」を参照してください。
その他のリソース
ASP.NET Core