Linuxで .NET Core

.NET Core が 1.0.0 リリースされたのでLinuxで使ってみます。 とりあえずツールのインストールと ASP.NET Core を動かすまで。

インストールするもの

とりあえずの開発をするのに必要そうなツールも一緒にインストールします。

インストール

最初に、 .NET Core を動かすために必要なライブラリをインストールしておきます。 Dockerfile を参考に依存ライブラリをインストールしておきましょう。

.NET Core は Ubuntuも正式サポートされているので、 .NET Core のダウンロードページからインストールできます。 リポジトリを追加してインストールするというppaな感じです。

dotnet-dev-1.0.0-preview-2-*** とパッケージが複数存在しているので重複してインストールしてしまうとおかしな挙動になります。 このあたりのスクリプトを使って、きっちり他のバージョンをアンインストールするようにしましょう。

Visual Studio Code も debパッケージが用意されています。 リリースページから最新のdebをダウンロードしてインストールしましょう。 また、Omnisharpを使ったC#用の拡張が用意されているので、 VS Code 内で Extensions: Install Extension を実行してインストールします。

.NET Core の SDK のプロジェクトテンプレートは貧弱なので、 yoaspnet-generator を用意しておきましょう。

$ sudo npm install yo aspnet-generator -g

aspnet-generator には ASP.NET Core の開発に役立つテンプレートが数多く用意されています。

動作確認

.NET Core SDK では dotnet コマンドでビルドや実行、パッケージングなどを行います。

とりあえず動作確認のためのディレクトリを作成します。

$ mkdir hwapp
$ cd hwapp

dotnet new で非常に簡単なプロジェクトを作成します。 dotnet restore で、依存ライブラリを初期化して、 dotnet run コマンドで実行します。

$ dotnet new
$ dotnet restore
$ dotnet run

dotnet run コマンドは実行時にコンパイルが必要であれば事前にコンパイルしてからプログラムを実行します。

アセンブリを作成してから実行する場合は、 dotnet build コマンドを使ってアセンブリを作成し、 dotnet コマンドに直接アセンブリファイルを指定して実行します。

$ dotnet build
$ dotnet run bin/Debug/hwapp.dll
Hello, World!

.exe ファイルは作らない方針なんでしょうかね?

ASP.NET Core を動かす

コマンドラインの動作を確認したら、 ASP.NET Core を動かしてみます。

aspnet-generator を使って、プロジェクトを作成します。

$ yo aspnet
? What type of application do you want to create? Empty Web Application
? What's the name of your ASP.NET application? Hello

dotnet new はカレントディレクトリにファイルを展開しますが、 yo ではプロジェクトディレクトリが作られます。

$ cd Hello
$ dotnet restore

dotnet restore で必要なライブラリをインストールします。

このまま dotnet run で webアプリケーションを起動します。

$ dotnet run

ブラウザで http://localhost:5000 にアクセスすれば Hello, world が表示されます。

まとめ