2017-06-06 8 views
2

私はVS 2017をコンソールアプリケーションに使用しています。しかし今、私は新しいASP.NET MVCプロジェクトを作成しなければならず、何か不思議なものを見つけました。新しいVS Studio 2017でC#7の機能を使用するとコンパイルエラーASP.NET MVC 5.2.3プロジェクト

ゲッターとセッター(コンテキストメニュー "クイックアクションとリファクタリング< Ecapsulateフィールド(および使用プロパティ)")を自動生成すると、コンパイルエラーが発生します。簡単な例を与えるために:

public class Person 
{ 
    private string firstname; 

    public string Firstname { get => firstname; set => firstname = value; } 
} 

エラーメッセージ:

1>------ Build started: Project: DummyASPNETMVC, Configuration: Debug Any CPU ------ 
1>C:\dev\C#\DummyASPNETMVC\DummyASPNETMVC\Models\Person.cs(12,39,12,41): error CS1043: { or ; expected 
1>C:\dev\C#\DummyASPNETMVC\DummyASPNETMVC\Models\Person.cs(12,39,12,41): error CS1513: } expected 
1>C:\dev\C#\DummyASPNETMVC\DummyASPNETMVC\Models\Person.cs(14,2,14,2): error CS1513: } expected 
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ========== 

コメントを解除ゲッターとセッターは物事が再び作業を行います。

これはコンソールアプリケーション内でうまく動作するのではないかと思います。ここで違いはどこですか?

+0

C#バージョンとは何か新機能のようです –

+1

C#7.0以降のラムダ式体のゲッターとセッターが存在します。 –

+2

ターゲット言語がC#7であることを確認します。プロジェクトのプロパティ、ビルド、アドバンスト –

答えて

5

PanagiotisおよびTetsuyaのおかげです。それはC#のバージョンでした。 (現在は1.0.4)最新バージョンをNugetパッケージマネージャを経由して

  1. アンインストール「Microsoft.CodeDom.Providers.DotNetCompilerPlatform」と再インストール:this questionを基準として

    、あなたは3つのことをしなければなりませんバージョンには、この後
  2. 、最新バージョン(現在は2.2.0)
  3. 変更プロジェクトを経由してC#言語への更新Microsoft.Net.Compilers「プロパティ<ビルド<高度な」7

が完了しました。

関連する問題