/langversion のオプション '7.3' が無効です。ISO-1、ISO-2、デフォルト、または 1 から 6 の範囲の整数である必要があります。質問する

/langversion のオプション '7.3' が無効です。ISO-1、ISO-2、デフォルト、または 1 から 6 の範囲の整数である必要があります。質問する

私は Visual Studio 17 (バージョン 15.8.5) を使用しており、プロジェクトは .NET Framework 4.8 をターゲットにしており、C# バージョンを ([プロパティ] ウィンドウの [ビルド] タブで) C# 7.3 (ドロップダウン リストから選択できる最大バージョン) に設定するように設定してみました。ただし、プロジェクトをビルドすると、質問のタイトルにあるような失敗が報告されます。 や も試しました7.0C# latest minor version、これらもすべて失敗を報告します。

環境は最大バージョン 6 (C# 6.0) をサポートしているようです。

両方インストールしてみましたMicrosoft.Net.Compilers v3.6.0が、Microsoft.Net.Compilers.Toolset v3.6.0何も変わりませんでした。

次の簡単なコードのように、パターン マッチング機能を使用したいと思います。

object o ...
if(o is int c){
    //do something with c (cast to int) ...
}

アップデート:

まったく新しい ASP.NET MVC プロジェクトを作成すると、C# 7.3 設定で問題なくコンパイルされるのは不思議です。そのため、私が作業している特定のプロジェクトに問題があるようです。より正確に診断するために、このリンクからそのプロジェクトを共有したいと思います。https://sites.google.com/site/ngaodaantoi/files/WebApiAuth.zip?attredirects=0&d=1

問題を再現できるように、VS 2017 を使用することをお勧めします。

ベストアンサー1

この問題を解決しましたNuGetパッケージをアップグレードせずに次の手順に従ってください。

  1. Visual Studioの開いているインスタンスをすべて閉じます

  2. 「Visual Studioインストーラー」を開く

  3. 使用しているVisual Studioのバージョンの「変更」をクリックします

    i. 私の場合はVS2019 Professional 16.11.0を使用しています

  4. ダイアログの上部で、「個別のコンポーネント」を選択します。

  5. 検索バーに「Roslyn」と入力します

  6. 両方のオプションをチェックしてください。このように見えるはずです

    i. イメージがダウンした場合のオプションは、「.NET コンパイラ プラットフォーム SDK」と「C# および Visual Basic Roslyn コンパイラ」です。

    ii. 私の場合、2番目はすでにチェックされていました

  7. ダイアログの右下にある「変更」を押して変更を確認します

プロジェクトを再度開くと、正常にコンパイルできました。

おすすめ記事