「マイクロソフト系技術情報 Wiki」は、「Open棟梁Project」,「OSSコンソーシアム .NET開発基盤部会」によって運営されています。
目次 †
概要 †
.NET Coreのコンソールアプリの発行とデプロイ
発行方式 †
フレームワークに依存する展開(Framework-dependent deployment、FDD) †
.NET Frameworkでの配置と同様の仕組み。
プリケーションが動作するOSに.NET Coreのランタイムが
インストールされていることを前提としている仕組み。
メリット †
以下が挙げられる。
- .NET Coreランタイムは共通であるため、実行や配置が容易になる。
- ビルド出力が軽量になるため。
- ビルド出力がOSによらず同一になるため。
デメリット †
以下の2点が挙げられる。
- 事前に.NET Coreランタイムのインストールが必要になる。
- .NET Coreランタイム側のバージョンアップでまれではあるが
開発-実行環境間でアプリの動作に変更が生じる可能性があること。
自己完結型の展開(Self-contained deployment、SFD) †
配置するバイナリのみで実行可能な形式(ランタイムも同時に配置する)
メリット †
以下の2点が挙げられる。
- 開発時にランタイムのインストールが不要。
- 利用するランタイムを完全に固定できる。
デメリット †
以下の3点が挙げられる。
- OSごとにビルドを行ってバイナリを生成しないといけない。
- ランタイムが含まれるので配置するバイナリのサイズが大きくなる。
- 配置先のマシンで占めるディスク容量が増える。
検証 †
FDD †
SFD †
- とは言うものの、ポータブル(共通化)と言われるlinux-x64が早速動かない感があったので、
各プラットフォーム毎のランタイム識別子 (RID)を調べて設定するのが良さそう。
- この設定を行い発行を行うと、ランタイム識別子 (RID)に対応したフォルダに発行が行われる。
- CentOS : centos.7-x64
- Ubuntu : ubuntu.16.04-x64
参考 †
Build Insider †
Microsoft Docs †
github.com †
Tags: :.NET開発, :.NET Core