次の方法で共有


ASP.NET Core Blazor 用のトリマーを構成する

注意

これは、この記事の最新バージョンではありません。 現在のリリースについては、この記事の .NET 9 バージョンを参照してください。

警告

このバージョンの ASP.NET Core はサポート対象から除外されました。 詳細については、 .NET および .NET Core サポート ポリシーを参照してください。 現在のリリースについては、この記事の .NET 9 バージョンを参照してください。

重要

この情報はリリース前の製品に関する事項であり、正式版がリリースされるまでに大幅に変更される可能性があります。 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 ドキュメント)」を参照してください。

その他のリソース