LoginSignup
9

More than 1 year has passed since last update.

コマンドラインから.Netアプリを発行する

Posted at

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

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9