Microsoft が .Net アプリケーションを動かすためのフレームワークとしてオープンソース化を進めていた ".Net Core" の正式バージョン 1.0 がリリースされました:
https://www.microsoft.com/net/core
この .Net Core が .Net アプリケーションを動かすための基盤であり、同時に公開された ASP.Net Core は Web アプリケーションの開発基盤となる部分になります。従って .Net Framework のうちの GUI を除いた開発環境のオープンソース化が実現され、Linux や MacOS 上で動かすことができるようになった、ということになります。
というわけで、早速自分の CentOS 環境に導入して使ってみました。なお、.Net Core は CentOS 7 以降に対応しているので、CentOS 7.x 環境を用意した上で以下を説明します。
まずは .Net Core 1.0 をインストールします。CentOS 7 環境で(SSH などで)ターミナルログインし、以下のコマンドを実行します(この例では実体を /opt/dotnet/ 以下にインストールし、/usr/local/bin へシンボリックリンクしています):
インストールはこれで完了です。では実際にアプリを作ってみましょう。雛形として用意されているアプリがいわゆる "Hello World" なので、"helloworldapp" というフォルダを作り、その中にアプリを作ることにします:
上記の最後に入力している "dotnet new" コマンドで雛形作成を含めた初期化を行います。この初期化によって、Program.cs ファイルと project.json ファイルという2つのファイルが作成されます:
このうちの Program.cs ファイルがソースコードに相当するファイルです。デフォルト状態では "Hello World!" という文字列をコンソールに表示(WriteLine)するだけの内容になっています:
これを vi などのエディタで適当に書き換えてみましょう。以下の例では "ハロー .Net ワールド!!" という日本語文字列に変えてみました:
もう1つの proejct.json ファイルは依存関係などのパッケージ情報が記述されています。こちらは今回は変更が不要です:
ではいよいよ CentOS 上でこの .Net アプリを動かしてみましょう。"dotnet run" と入力します:
成功すると以下のようにコンパイルされ、実行されて、書き換えた文字列が表示されるはずです:
なお実行時にコンパイルされるので、このコマンド実行後には bin と obj フォルダがそれぞれ生成されているはずです:
今回は CentOS 7.x 上でのインストールから実行までを紹介しました。実行手順は全てで共通ですが、インストール方法はシステムによって若干異なります(Docker イメージも公開されてるんですね・・・)。詳しくは公式ドキュメントを参照ください:
https://www.microsoft.com/net/core
https://www.microsoft.com/net/core
この .Net Core が .Net アプリケーションを動かすための基盤であり、同時に公開された ASP.Net Core は Web アプリケーションの開発基盤となる部分になります。従って .Net Framework のうちの GUI を除いた開発環境のオープンソース化が実現され、Linux や MacOS 上で動かすことができるようになった、ということになります。
というわけで、早速自分の CentOS 環境に導入して使ってみました。なお、.Net Core は CentOS 7 以降に対応しているので、CentOS 7.x 環境を用意した上で以下を説明します。
まずは .Net Core 1.0 をインストールします。CentOS 7 環境で(SSH などで)ターミナルログインし、以下のコマンドを実行します(この例では実体を /opt/dotnet/ 以下にインストールし、/usr/local/bin へシンボリックリンクしています):
$ sudo yum install libunwind libicu $ curl -sSL -o dotnet.tar.gz https://go.microsoft.com/fwlink/?LinkID=827529 $ sudo mkdir -p /opt/dotnet
$ sudo tar zxf dotnet.tar.gz -C /opt/dotnet $ sudo ln -s /opt/dotnet/dotnet /usr/local/bin
インストールはこれで完了です。では実際にアプリを作ってみましょう。雛形として用意されているアプリがいわゆる "Hello World" なので、"helloworldapp" というフォルダを作り、その中にアプリを作ることにします:
$ mkdir helloworldapp $ cd helloworldapp $ dotnet new
上記の最後に入力している "dotnet new" コマンドで雛形作成を含めた初期化を行います。この初期化によって、Program.cs ファイルと project.json ファイルという2つのファイルが作成されます:
このうちの Program.cs ファイルがソースコードに相当するファイルです。デフォルト状態では "Hello World!" という文字列をコンソールに表示(WriteLine)するだけの内容になっています:
これを vi などのエディタで適当に書き換えてみましょう。以下の例では "ハロー .Net ワールド!!" という日本語文字列に変えてみました:
もう1つの proejct.json ファイルは依存関係などのパッケージ情報が記述されています。こちらは今回は変更が不要です:
ではいよいよ CentOS 上でこの .Net アプリを動かしてみましょう。"dotnet run" と入力します:
$ dotnet run
成功すると以下のようにコンパイルされ、実行されて、書き換えた文字列が表示されるはずです:
なお実行時にコンパイルされるので、このコマンド実行後には bin と obj フォルダがそれぞれ生成されているはずです:
今回は CentOS 7.x 上でのインストールから実行までを紹介しました。実行手順は全てで共通ですが、インストール方法はシステムによって若干異なります(Docker イメージも公開されてるんですね・・・)。詳しくは公式ドキュメントを参照ください:
https://www.microsoft.com/net/core