「[[マイクロソフト系技術情報 Wiki>http://techinfoofmicrosofttech.osscons.jp/]]」は、「[[Open棟梁Project>https://github.com/OpenTouryoProject/]]」,「[[OSSコンソーシアム .NET開発基盤部会>https://www.osscons.jp/dotNetDevelopmentInfrastructure/]]」によって運営されています。 -戻る --[[.NET Core]] --[[ASP.NET Core]] * 目次 [#s808ee45] #contents *概要 [#b81a45da] [[.NET Core]]のコンソールアプリの発行とデプロイ *発行方式 [#o6acb6b5] -(サポートに問い合わせた感じ、)どうも、[[FDD>#yfb796bd]]が推奨の方式らしい。 - Linux 環境で「[[.NET Core ネイティブ インストーラー>#z953008f]]」を使用して~ [[.NET Core]]をインストール可能であれば、[[FDD>#yfb796bd]]の方がご利用し易い。 **FDD [#yfb796bd] -FDD : Framework-dependent deployment -フレームワークに依存する展開 --.NET Frameworkでの配置と同様の仕組み。 --展開先(アプリケーションが動作するOS)に、~ [[.NET Core]]のランタイムがインストールされていることを前提としている仕組み。 ***メリット [#l14682b9] 以下が挙げられる。 -[[.NET Core]]ランタイムは共通であるため、実行や配置が容易になる。 --ディストリビューション毎に [[.NET Core]] の依存関係を考慮する必要が無い。 --パッケージ作成時にターゲット プラットフォーム (OS、アーキテクチャ) を考慮する必要が無い。 --ビルド出力が ---軽量になる。 ---OSによらず同一になる。 ***デメリット [#ucfd4cf3] 以下の2点が挙げられる。 -事前に、展開先に、[[.NET Core]]ランタイムのインストールが必要になる。 -[[.NET Core]]ランタイム側のバージョンアップでまれではあるが~ 開発-実行環境間でアプリの動作に変更が生じる可能性があること。 **SCD [#w88a1ee1] -SCD : Self-contained deployment -自己完結型の展開 --配置するバイナリのみで実行可能な形式(ランタイムも同時に配置する) ***メリット [#s811716a] 以下の2点が挙げられる。 -開発時にランタイムのインストールが不要。 -利用するランタイムを完全に固定できる。 ***デメリット [#n7e8eb74] 以下の点が挙げられる。 -OSごとにビルドを行ってバイナリを生成しないといけない。 -パッケージ作成時にターゲット プラットフォーム (OS、アーキテクチャ) の選択が必要。 -バイナリにランタイムが含まれるので --配置するバイナリのサイズが大きくなり、 --配置先のマシンで占めるディスク容量が増える。 *[[.NET Core]] ネイティブ インストーラー [#z953008f] -[[FDD>#yfb796bd]]を使用して、Linux 環境で [[.NET Core]] アプリケーションを~ 実行する場合、[[.NET Core]] が依存するライブラリを事前にインストールする必要がある。 -インストールが必要な依存ライブラリは Linux ディストリビューションごとに異なっているが、~ 各ディストリビューション用の [[.NET Core]] ネイティブ インストーラーにより、必要なライブラリがすべてインストールされる。 *[[検証>https://dotnetdevelopmentinfrastructure.osscons.jp/index.php?.NET%20Core%E3%81%AE%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%A8%E3%83%87%E3%83%97%E3%83%AD%E3%82%A4]] [#w4375a40] *参考 [#q5cc4c84] **Microsoft Docs [#h306c468] -Linux における .NET Core の前提条件~ https://docs.microsoft.com/ja-jp/dotnet/core/linux-prerequisites?tabs=netcore2x --.NET Core for Ubuntu 14.04、Ubuntu 16.04、Ubuntu 16.10 および Linux Mint 17、Linux Mint 18 (64 ビット)~ https://docs.microsoft.com/ja-jp/dotnet/core/linux-prerequisites?tabs=netcore2x#install-net-core-for-ubuntu-1404-ubuntu-1604-ubuntu-1610--linux-mint-17-linux-mint-18-64-bit --CentOS 7.1 (64 bit) および Oracle Linux 7.1 (64 bit) 用の .NET Core をインストールする~ https://docs.microsoft.com/ja-jp/dotnet/core/linux-prerequisites?tabs=netcore2x#install-net-core-for-centos-71-64-bit--oracle-linux-71-64-bit -.NET Core コマンドライン インターフェイス (CLI) ツール~ https://docs.microsoft.com/ja-jp/dotnet/core/tools/?tabs=netcore2x -.NET Core アプリケーションの展開~ https://docs.microsoft.com/ja-jp/dotnet/core/deploying/ 以下の「サードパーティの依存関係を含む。含まない。」は、~ NuGetする・しない程度の違いしかないので、手順は複雑化しない。 ***FDD [#v6fe5c25] --コマンド ライン インターフェイス (CLI) ツールを使用して .NET Core アプリを展開する~ https://docs.microsoft.com/ja-jp/dotnet/core/deploying/deploy-with-cli ---フレームワークに依存する展開~ https://docs.microsoft.com/ja-jp/dotnet/core/deploying/deploy-with-cli#framework-dependent-deployment ---サードパーティの依存関係を含む、フレームワークに依存する展開~ https://docs.microsoft.com/ja-jp/dotnet/core/deploying/deploy-with-cli#framework-dependent-deployment-with-third-party-dependencies --Visual Studio で .NET Core アプリを展開する~ https://docs.microsoft.com/ja-jp/dotnet/core/deploying/deploy-with-vs ---フレームワークに依存する展開~ https://docs.microsoft.com/ja-jp/dotnet/core/deploying/deploy-with-vs#framework-dependent-deployment ---サードパーティの依存関係を含む、フレームワークに依存する展開~ https://docs.microsoft.com/ja-jp/dotnet/core/deploying/deploy-with-vs#framework-dependent-deployment-with-third-party-dependencies ***SCD [#ie53c21a] -コマンド ライン インターフェイス (CLI) ツールを使用して .NET Core アプリを展開する~ https://docs.microsoft.com/ja-jp/dotnet/core/deploying/deploy-with-cli --サードパーティの依存関係を含まない、自己完結型の展開~ https://docs.microsoft.com/ja-jp/dotnet/core/deploying/deploy-with-cli#simpleSelf --サードパーティの依存関係を含む、自己完結型の展開~ https://docs.microsoft.com/ja-jp/dotnet/core/deploying/deploy-with-cli#self-contained-deployment-with-third-party-dependencies -Visual Studio で .NET Core アプリを展開する~ https://docs.microsoft.com/ja-jp/dotnet/core/deploying/deploy-with-vs --サードパーティの依存関係を含まない、自己完結型の展開~ https://docs.microsoft.com/ja-jp/dotnet/core/deploying/deploy-with-vs#simpleSelf --サードパーティの依存関係を含む、自己完結型の展開~ https://docs.microsoft.com/ja-jp/dotnet/core/deploying/deploy-with-vs#self-contained-deployment-with-third-party-dependencies -.NET Core のランタイム識別子 (RID) のカタログ~ https://docs.microsoft.com/ja-jp/dotnet/core/rid-catalog **Build Insider [#f1cd1fe4] ***C#による.NET Core入門 [#fb77a244] http://www.buildinsider.net/language/dotnetcore -(1).NET Coreとは? 開発環境(SDKとVisual Studio Code)のインストール~ http://www.buildinsider.net/language/dotnetcore/01 -(2)レッドハット版.NET Coreとマイクロソフト版.NET Coreの違い~ http://www.buildinsider.net/language/dotnetcore/02 -(3).NET Coreでプロジェクトを作成して開発してみよう~ http://www.buildinsider.net/language/dotnetcore/03 -(4).NET Coreでコンソールアプリを配置する~ http://www.buildinsider.net/language/dotnetcore/04 -(5).NET Standardなライブラリプロジェクトを作成して参照する~ https://www.buildinsider.net/language/dotnetcore/05 ※ 前提となる開発環境は、CentOS 7.3, .NET Core SDK, Visual Studio Codeであるもよう。 **osscons.jp [#c2c77af8] ***[[ASP.NET Coreのデプロイ]] [#s08597cc] ***.NET 開発基盤部会 Wiki [#j98be859] -[[.NET Coreのインストールとデプロイ>https://dotnetdevelopmentinfrastructure.osscons.jp/index.php?.NET%20Core%E3%81%AE%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%A8%E3%83%87%E3%83%97%E3%83%AD%E3%82%A4]] --CentOS --Ubuntu -[[ASP.NET Coreのインストールとデプロイ>https://dotnetdevelopmentinfrastructure.osscons.jp/index.php?ASP.NET%20Core%E3%81%AE%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%A8%E3%83%87%E3%83%97%E3%83%AD%E3%82%A4]] --CentOS --Ubuntu ---- Tags: [[:.NET開発]], [[:.NET Core]]