備忘録

備忘録

.NET Core で 実行ファイル(.exe)を作成する

Ⅰ. はじめに

.NET Core のプロジェクトで .exe を作成する方法です。
.NET Core のプロジェクトのデプロイ方法は2通りあります。

# デプロイ方法の名称 略称 実行方法
1 Framework-dependent deployments FDD コマンドで dotnet hoge.dll として実行する
2 Self-contained deployments SCD 実行ファイルを直接実行する

FDD では実行ファイル(.exe)の作成ができません。
SCD で実行ファイル(.exe) を作成します。

SCD は CoreCLR と呼ばれる .NET Core の実行エンジンも出力する為、.NET Core ランタイムが入っていない環境でも実行することができます。
また、 WindowsUbuntumacOS といった異なる OS の実行ファイルのデプロイも可能です。

Ⅱ. 環境

  • .NET Core 2.0以上

この記事は.NET Core 2.0以上を対象としています。
.NET Core 2.0で「RID(Runtime Identifier)指定方法の変更」や「dotnet restoreが不要になる」等の変更がありました。

Ⅲ. やり方

この記事ではサンプルとして

  • Windows10 64bit
  • macOS 64bit
  • CentOS7 64bit

を対象とします。

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. 実行ファイルが作成される

f:id:kagasu:20170416192427p:plain