我正在使用 Visual Studio 17(版本 15.8.5),我的项目面向 .NET Framework 4.8,我尝试设置 C# 版本以使用(通过“属性”窗口中的“构建”选项卡)C# 7.3(这是可以从下拉列表)。但是,构建项目会报告问题标题中的失败。我什至试过 7.0
和 C# 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 来帮助可能重现该问题。
最佳答案
尝试升级以下 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/