コマンドラインからNetアプリを発行する
C#
0. はじめに
Visual Studioで.Net Coreアプリを開発した際、コマンドラインからWindows・Linuxアプリを発行する必要があったので、方法についてまとめてみました。
1. dotnet publishコマンド
dotnet publish
コマンドを使うことで、色々なオプションを指定して各アプリの発行ができます。
以下、オプションの指定方法について記載します。
※なお、私が必要としたオプションのみ記載しています。その他のオプションを確認したい場合はdotnet publishを参照ください。
dotnet publish
[<PROJECT>|<SOLUTION>] ・・・1-1. ビルド対象
[-c|--configuration <CONFIGURATION>]・・・1-2. ビルド構成
[-o|--output <OUTPUT_DIRECTORY>]・・・1-3. 出力ディレクトリのパス
[-r|--runtime <RUNTIME_IDENTIFIER>]・・・1-4. ランタイム
[--self-contained [true|false]]・・・1-5. 自己完結型か
1-1. ビルド対象
ビルド対象となるプロジェクト、又はソリューションのパスを指定します。 指定しない場合はカレントディレクトリが対象となります。
1-2. ビルド構成
ビルド構成を指定します。指定しない場合はDebugとなります。
設定値 | 説明 |
---|---|
Debug(既定値) | Debugビルド |
Release | Releaseビルド |
1-3. 出力ディレクトリのパス
アプリケーションを出力するディレクトリのパスを指定します。 指定しない場合は以下のディレクトリに出力されます。
- フレームワーク依存・・・
[project_file_folder]/bin/[configuration]/[framework]/publish/
- 自己完結型・・・
[project_file_folder]/bin/[configuration]/[framework]/[runtime]/publish/
1-4. ランタイム
発行対象とするアプリケーションのランタイムIDを指定します。 ※以下は一部のみ記載しています。指定可能なランタイムID(RID)の一覧については、RIDカタログを参照ください。
設定値 | 説明 |
---|---|
win-x64 | Windows(64ビット) |
win-x86 | Windows(32ビット) |
linux-x64 | CentOS、Debian、Fedora、Ubuntuなどのディストリビューション |
1-5. 自己完結型か
自己完結型で発行するか、フレームワーク依存で発行するかを指定します。指定しない場合は自己完結型となります。
設定値 | 説明 |
---|---|
true(既定値) | 自己完結型 |
false | フレームワーク依存 |
2. 使用例
- 自己完結型でlinux-x64アプリを発行する
dotnet publish .\hoge.csproj -c Release -o C:\output -r linux-x64 --self-contained true