お知らせ

Ubuntu16.04でASP.NET Core MVCで苦労した話

まえおき編

先日、しまざきさんが.Net Core1.0 正式リリースという記事を書かれていたので、Hyper-VにUbuntu16.04をインストールして.NET Coreを使ってみました。

.NET Coreインストール編

.NET Coreのインストール自体はものすごく簡単です。
こちらのページに書かれているコマンドを上から順に実行するだけ。
「dotnet new」を動かすと、コンソールに「Hello World!」と出すだけのコードが吐かれます。
「dotnet restore」でビルドの準備をして、「dotnet run」で実行と言った感じでしょうか。

ASP.NET Core MVC編

コンソールに出すだけなら、あんまりおもしろくない。
―ということで、ASP.NET Coreを使ってみることに。
どうせならASP.NET Core MVCってのやってみるかと思ったのが悪夢の始まりでした…

MVCのビルド失敗

MVCのビルド失敗

MVCのビルド失敗

ネットに転がってるASP.NET Core MVCのサンプルを参考にProgram.csとproject.jsonを変更、Startup.csとControllersとViewsを新規作成…
「dotnet restore」→「dotnet run」すると↑のエラー…

Mvcを依存関係に追加

Mvcを依存関係に追加

どうやら、Microsoft.AspNetCore.Mvcをdependenciesに追加すれば良いらしい。
追加→「dotnet restore」→「dotnet run」でビルドは通った!

エラー用ページ表示設定のビルド失敗

UseDeveloperExceptionPageのビルド失敗

UseDeveloperExceptionPageのビルド失敗

URLを叩いてみても500エラー… いろいろやってみても500エラー…
このままではどうして500エラーなのかさっぱりわからん!
UseDeveloperExceptionPageという設定をするとエラーの内容が表示されるというのを見つけ、コードを追加したが、↑のエラー…
もう、おもやんのやる気はゼロよ…

Diagnosticsを依存関係に追加

Diagnosticsを依存関係に追加

UseDeveloperExceptionPageはMicrosoft.AspNetCore.Diagnosticsにあるコのようだ。
ということが分かったので、MVCの時と同じ感じでdependenciesに追加してみた。

Viewが表示されない

Viewが表示されない

Viewが表示されない

ビルドが通ってURLを叩いてみると… ↑のエラー…
どうしてこうスムーズに表示してくれないんですかね…

preserveCompilationContextをビルドオプションに追加

preserveCompilationContextをビルドオプションに追加

ASP.NET Core MVCでいろいろとぐぐってみるとbuildOptionsにpreserveCompilationContext: trueというのが必要らしい…
すると― Viewが期待通りに表示されました!

まとめ編

日本語の情報が出そろうまでWindowsで開発したほうがいいですね。疲れた…