今月頭に Linux / OS X への対応が Twitter で発表されていた DNX ですが、最新の Nightly Build をインストールすることで、実際に使えるようになりました。
Thanks to @ellism, we have dnx running on OSX and linux on top of CoreCLR! #dnx #aspnet5 pic.twitter.com/kNiaGLtbpP
— David Fowler (@davidfowl) 2015年4月10日
Build 2015 のキーノートで Preview として発表されたのに、Visual Studio Code や HoloLens によって完全に忘れ去られた感のある可哀想なプロダクトです。
以下のように DNVM コマンドを使って CoreCLR をインストール出来ます。
dnvm upgrade -u dnvm upgrade -u -r coreclr
今は CoreCLR だけでの動作は不可能みたいなので、Mono 版も同時にインストールしておく必要があるみたいです。実際に CoreCLR の DNX で試すと dnu restore が上手くいきませんでした。
Linux (Ubuntu)
まずは簡単かつ仮想マシンで試せる Ubuntu で CoreCLR を使ってみました。と言っても、GitHub にドキュメントがしっかり用意されているので、これの手順通りで問題ありませんでした。
https://github.com/dotnet/coreclr/blob/master/Documentation/get-dotnetcore-dnx-linux.md
何故か dnu restore が Mono を使っても失敗してしまったんですが、仮想マシンごと作りなおしたら上手くいきました。何か余計なアセンブリが残っていたのかもしれません。
x64 の CoreCLR と DNX を使って C# アプリケーションを実行出来ました。
OS X
OS X に関しても試しましたが、自分の環境では特に問題なく Homebrew を使って DNVM をインストールすれば CoreCLR を使えました。予め古いランタイムなどは念のために削除しておきました。
https://github.com/dotnet/coreclr/blob/master/Documentation/get-dotnetcore-dnx-osx.md
dnu restore も問題なく実行出来たので、CoreCLR はとてもあっさりと動作しました。
パフォーマンスは以前に CoreCLR だけビルドした時に比べて改善しているように感じました。起動するまでの時間が、かなり短縮されたのではないかと思います。