Blazor WebAssembly アプリの発行時に、"ランタイムの再リンク" を抑止する
背景
「.NET WebAssemblyビルドツール」をインストールすると、Blazor WebAssemblyアプリを Release 構成で発行する際に、"ランタイムの再リンク" が自動的に実行されます。
ランタイムの再リンクは、未使用のランタイムコードを切り捨てることで、"dotnet.wasm" のサイズを縮小します。
このサイズ削減は、Blazor WebAssemblyアプリのダウンロード速度に貢献します。
詳しくは、以下のリンクもご参照ください。
ただし、ランタイムの再リンクは発行に少し時間がかかります。
もちろん、ほとんどの開発者にとって、これは問題ではありません。
しかし、稀にランタイムの再リンクに時間がかかると、特に発行処理に関わる問題を調査する際に、開発者を悩ませることがあります。
解決策
幸いなことに、手動でランタイムの再リンクを抑制することができます。
必要なのは、MSBuildプロパティの "UsingBrowserRuntimeWorkload "を "false"に指定することだけです。
例えば、dotnet publish
コマンドのコマンドライン引数でこれを行うことができます。
dotnet publish -c:Release -p:UsingBrowserRuntimeWorkload=false
このコマンドは 「.NET WebAssemblyビルドツール」がインストールされていないときと同じように動作するため、ランタイムの再リンクを行う場合よりも早く発行処理が終了します。
制限事項
"UsingBrowserRuntimeWorkload" MSBuild プロパティを "false" に設定することは、Blazor WebAssembly プロジェクトが "WebAssembly のネイティブの依存関係" 機能を使用していない場合のみ有効です。
Blazor WebAssembly プロジェクトが "WebAssembly のネイティブの依存関係" 機能に依存している場合、ビルドと公開処理は失敗するはずです。
Author And Source
この問題について(Blazor WebAssembly アプリの発行時に、"ランタイムの再リンク" を抑止する), 我々は、より多くの情報をここで見つけました https://qiita.com/jsakamoto/items/bf5b7b66bfebe32c5056著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .