ぷろじぇくと、みすじら。

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は入れなくてもいいといえばいいですがもちろんその場合には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の構文がエラーにならなければできあがりです。