Linuxで .NET Core
.NET Core が 1.0.0 リリースされたのでLinuxで使ってみます。 とりあえずツールのインストールと ASP.NET Core を動かすまで。
インストールするもの
とりあえずの開発をするのに必要そうなツールも一緒にインストールします。
- .NET Core SDK
- Visual Studio Code
- omnisharp
- yo
- aspnet-generator
インストール
最初に、 .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 のプロジェクトテンプレートは貧弱なので、 yo
の aspnet-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
が表示されます。
まとめ
- 結構すんなり動く