13,230
回編集
| 515行目: | 515行目: | ||
以下の例では、Linux x64向けとPinePhone向けにリリースビルドしている。<br> | 以下の例では、Linux x64向けとPinePhone向けにリリースビルドしている。<br> | ||
# Linux x64向け | # Linux x64向け | ||
dotnet publish -c:Release -r:linux-x64 -p:PublishReadyToRun=false -p:PublishSingleFile=true --self-contained | dotnet publish -c:Release -r:linux-x64 -p:PublishReadyToRun=false -p:PublishSingleFile=true --self-contained false | ||
# Linux Arch64向け (PinePhone、Raspberry Pi等) | # Linux Arch64向け (PinePhone、Raspberry Pi等) | ||
dotnet publish -c:Release -r:linux-arm64 -p:PublishReadyToRun=false -p:PublishSingleFile=true --self-contained | dotnet publish -c:Release -r:linux-arm64 -p:PublishReadyToRun=false -p:PublishSingleFile=true --self-contained false | ||
# Linux Arch64向け TFMの指定 | # Linux Arch64向け TFMの指定 | ||
dotnet publish -c:Release -r:linux-arm64 -p:PublishReadyToRun=false -p:PublishSingleFile=true --self-contained | dotnet publish -c:Release -r:linux-arm64 -p:PublishReadyToRun=false -p:PublishSingleFile=true --self-contained false -f:<.NETのターゲットフレームワークのバージョン 例: net8.0> | ||
<br> | <br> | ||
以下に、各オプションの意味を記載する。<br> | 以下に、各オプションの意味を記載する。<br> | ||
| 559行目: | 558行目: | ||
*: https://docs.microsoft.com/ja-jp/dotnet/core/deploying/single-file#api-incompatibility | *: https://docs.microsoft.com/ja-jp/dotnet/core/deploying/single-file#api-incompatibility | ||
*: <br> | *: <br> | ||
* <code>--self-contained | * <code>--self-contained false</code> (推奨) | ||
*: | *: .NETランタイムを含めた単一の実行ファイルを生成する。 | ||
*: 実行環境に.NETランタイムがインストールされている必要がない。 | |||
*: <br> | |||
* -p:PublishTrimmed=true | |||
*: 使用していない依存関係を削除する。 | |||
*: アプリケーションサイズを削減できる。 | |||
*: <br> | |||
* -p:IncludeNativeLibrariesForSelfExtract=true | |||
*: ネイティブライブラリ (libHarfBuzzSharp.soやlibSkiaSharp.so等) を実行ファイルに組み込む。 | |||
*: 実行時に自動的に展開される。 | |||
<br> | |||
<u>※注意</u><br> | |||
<u>PublishTrimmedオプションを使用する場合、リフレクションを使用しているコードに影響が出る可能性がある。</u><br> | |||
<u>ただし、生成されるファイルサイズは大きくなるが、単一の実行ファイルで完結する。</u><br> | |||
<u>SkiaSharpのような特殊なネイティブライブラリを使用している場合は、追加の設定が必要になることがある。</u><br> | |||
<br> | <br> | ||
<u>リリースビルドする実行ファイルにデバッグ情報を付加しない場合は、プロジェクトファイル(.csproj拡張子)ファイルに以下の設定を追記する。(推奨)</u><br> | <u>リリースビルドする実行ファイルにデバッグ情報を付加しない場合は、プロジェクトファイル(.csproj拡張子)ファイルに以下の設定を追記する。(推奨)</u><br> | ||