LoginSignup
2
4

More than 5 years have passed since last update.

.Net CoreプロジェクトでC#のバージョンを変更する方法

Posted at

はじめに

.Net Coreプロジェクトでコンソールアプリを開発するときに、C#の言語バージョンを変更したいときがあります。

例えば、コンソールアプリでMainメソッドにasyncをつけたいときです。
しかし、MainメソッドにasyncをつけられるのはC#7.1からです。
現時点(2019年1月8日)におけるメジャーバージョンは7.0であり、プロジェクト作成時にはデフォルトでこのメジャーバージョンが選択されるため、Mainメソッドにはasyncをつけることができません。

Visual Studioを使っているのであれば、以下のようにプロジェクトのプロパティからビルドタブの一番下の詳細設定をクリックすると、言語バージョンを選択することができます。
image.png

しかしながら、.Net CoreはWindows以外の環境で開発することもあるため、この方法は使えません。

やりかた

.csprojファイルを編集します。
プロジェクトフォルダの中にプロジェクト名.csprojというファイルがあります。
これを開くと以下のようになっています。

<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>netcoreapp2.1</TargetFramework>
  </PropertyGroup>

      <!--省略-->

</Project>

この中のPropertyGroup要素の中に以下の要素を追加します。今回は言語バージョンを7.1にするものとします。

    <LangVersion>7.1</LangVersion>

追加後の全体としては以下のようになります。

<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>netcoreapp2.1</TargetFramework>
    <LangVersion>7.1</LangVersion>
  </PropertyGroup>

      <!--省略-->

</Project>

これでC#7.1の機能を使うことができます。

指定できる言語バージョンとそれぞれの説明については公式のこちらのページを参照してください。

2
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
4