しばやん雑記

Azure とメイドさんが大好きなフリーランスのプログラマーのブログ

Linux / OS X 向け DNX で CoreCLR が使えるようになった話

今月頭に Linux / OS X への対応が Twitter で発表されていた DNX ですが、最新の Nightly Build をインストールすることで、実際に使えるようになりました。

Build 2015 のキーノートで Preview として発表されたのに、Visual Studio Code や HoloLens によって完全に忘れ去られた感のある可哀想なプロダクトです。

GitHub - dotnet/coreclr: CoreCLR is the runtime for .NET Core. It includes the garbage collector, JIT compiler, primitive data types and low-level classes.

以下のように 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 だけビルドした時に比べて改善しているように感じました。起動するまでの時間が、かなり短縮されたのではないかと思います。