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のビルド失敗
ネットに転がってるASP.NET Core MVCのサンプルを参考にProgram.csとproject.jsonを変更、Startup.csとControllersとViewsを新規作成…
「dotnet restore」→「dotnet run」すると↑のエラー…
どうやら、Microsoft.AspNetCore.Mvcをdependenciesに追加すれば良いらしい。
追加→「dotnet restore」→「dotnet run」でビルドは通った!
エラー用ページ表示設定のビルド失敗
URLを叩いてみても500エラー… いろいろやってみても500エラー…
このままではどうして500エラーなのかさっぱりわからん!
UseDeveloperExceptionPageという設定をするとエラーの内容が表示されるというのを見つけ、コードを追加したが、↑のエラー…
もう、おもやんのやる気はゼロよ…
UseDeveloperExceptionPageはMicrosoft.AspNetCore.Diagnosticsにあるコのようだ。
ということが分かったので、MVCの時と同じ感じでdependenciesに追加してみた。
Viewが表示されない
ビルドが通ってURLを叩いてみると… ↑のエラー…
どうしてこうスムーズに表示してくれないんですかね…
ASP.NET Core MVCでいろいろとぐぐってみるとbuildOptionsにpreserveCompilationContext: trueというのが必要らしい…
すると― Viewが期待通りに表示されました!
まとめ編
日本語の情報が出そろうまでWindowsで開発したほうがいいですね。疲れた…