ASP.NET MVC Core 1.1のRazorテンプレートでC#7を使う
Created at:
ASP.NET MVC Core 1.1でプロジェクトを作るとRazorテンプレート(cshtml)では利用できるC#のバージョンは6です。2017年7月時点の最新版であるところのC#7の機能を使うためにはちょっと準備が必要です。
NuGetパッケージをインストール
まず以下の二つのNuGetパッケージをインストールします。
- System.ValueTuple
- Microsoft.CodeAnalysis.CSharp
System.ValueTupleは入れなくてもいいといえばいいですがもちろんその場合にはValueTupleを使えません。
Razorの設定
パッケージのインストールができたら次はASP.NET MVC Coreの設定をするためにStartup.csを開きます。
ConfigureServicesメソッドに以下の行のが見つかるかと思います。
services.AddMvc();
その行を以下のように書き換えます。
services.AddMvc()
.AddRazorOptions(options =>
{
options.ParseOptions = new CSharpParseOptions(LanguageVersion.Latest);
});
AddRazorOptions
でRazorの設定をする形です。LanguageVersion
列挙体にはCSharp7
をはじめとしてバージョンがいろいろあるのですが大抵は最新を指すLatest
でもいいような気がします。
これで完了です。あとはC# 7の構文がエラーにならなければできあがりです。