c# -/langversion 的选项 '7.3' 无效;必须是 ISO-1、ISO-2、默认值或 1 到 6 范围内的整数

标签 c# asp.net-mvc visual-studio-2017 c#-7.0

我正在使用 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.0Microsoft.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 来帮助可能重现该问题。

最佳答案

尝试升级以下 NuGet 包(以安装者为准)以解决问题:
-Microsoft.CodeDom.Providers.DotNetCompilerPlatform
-Microsoft.Net.Compilers

关于c# -/langversion 的选项 '7.3' 无效;必须是 ISO-1、ISO-2、默认值或 1 到 6 范围内的整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62858965/

相关文章:

c# - ObjectDisposeException,而实际上不需要连接

c# - 图 Api - 401 未经授权

javascript - jQuery 在按钮单击时获取最接近的表单

c++ - OpenCv 和 Visual C++ 人脸检测

c# - 出列前读取 Queue<T> 中的项目

c# - C# 向字典中添加数据

asp.net - 在 ASP.NET 中更改 session 变量并重新加载页面

visual-studio-2015 - 如何在代理后面为 Visual Studio 配置 npm、git 和 bower

c# - 使用 EF Core 的 Visual Studio 2017 在迁移之前/之后更改 mdf 文件的本地数据库默认位置

c# - .NET:Windows 窗体/控件性能