Ⅰ. はじめに
この記事の内容は.NET Core 3.0までの内容です。
最新の情報は以下Webページを確認して下さい。
https://docs.microsoft.com/ja-jp/dotnet/core/tools/dotnet-publish
Ⅱ. FDD と SCD の違いについて
デプロイ方法の名称 | 略称 | 実行方法(.NET Core 2.0) | 実行方法 (.NET Core 3.0) |
---|---|---|---|
Framework-dependent deployments フレームワークに依存する展開 |
FDD | コマンドを実行する dotnet hoge.dll |
EXEを実行する |
Self-contained deployments 自己完結型の展開 |
SCD | EXEを実行する | EXEを実行する |
SCD は CoreCLR と呼ばれる .NET Core のランタイムも出力する為、.NET Core ランタイムが入っていない環境でも実行することができます。
.NET Core 2.x 以下の場合
FDD では実行ファイル(.exe)の作成ができません。
SCD で実行ファイル(.exe) を作成します。
Ⅲ. FDD のやり方
以下のコマンドを実行する
dotnet publish -c Release
以上
Ⅳ. SCDのやり方
1. 以下のコマンドを実行する
RID(Runtime Identifier) と呼ばれる値はこちらからコピペします。
https://docs.microsoft.com/en-us/dotnet/articles/core/rid-catalog
dotnet publish -c Release -r win-x64 # dotnet publish -c Release -r osx-x64 # dotnet publish -c Release -r linux-x64
2. 実行ファイルが作成される
その他
※2018/12/11 追記
.NET Coreで実行ファイル1つだけを出力する方法(Warpを利用する場合)(非推奨)
https://kagasu.hatenablog.com/entry/2018/12/11/021919
※2019/05/08 追記
.NET Coreで実行ファイル1つだけを出力する方法
https://kagasu.hatenablog.com/entry/2019/05/08/022255
※2019/01/04追記
.NET CoreをCoreRTを利用してビルドする方法
https://kagasu.hatenablog.com/entry/2019/01/04/121434