C# VS代码CSC:错误CS1617:无效选项';7.3';for/langversion

C# VS代码CSC:错误CS1617:无效选项';7.3';for/langversion,c#,asp.net-core,visual-studio-code,blazor,c#-7.3,C#,Asp.net Core,Visual Studio Code,Blazor,C# 7.3,我下载了VS2017 15.7、.NETCore2.1.2和Blazor来试用。与2017年相比,它没有正常工作 我想尝试一下dotnetcli和VS代码。相反,我遇到了以下错误: CSC:error CS1617:/langversion的选项“7.3”无效。 在VS中,它将运行应用程序,显示“正在加载…”,然后不显示任何内容。不确定这两个问题是否相关 dotnet--info返回以下内容: .NET命令行工具(2.1.300-preview1-008174) 产品信息: 版本:2.1.300

我下载了VS2017 15.7、.NETCore2.1.2和Blazor来试用。与2017年相比,它没有正常工作 我想尝试一下dotnetcli和VS代码。相反,我遇到了以下错误:

CSC:error CS1617:/langversion的选项“7.3”无效。

在VS中,它将运行应用程序,显示“正在加载…”,然后不显示任何内容。不确定这两个问题是否相关

dotnet--info
返回以下内容:

.NET命令行工具(2.1.300-preview1-008174)
产品信息:
版本:2.1.300-preview1-008174
提交SHA-1哈希:b8df89a54f
运行时环境:
操作系统名称:Windows
操作系统版本:10.0.17666
操作系统平台:Windows
RID:win10-x64
基本路径:C:\Program Files\dotnet\sdk\2.1.300-preview1-008174\
Microsoft.NET核心共享框架主机
版本:2.1.0-preview1-26216-03
构建:f2c3216183d20416568a4bbf5bb7d153e826f153

您应该使用VS的预览版来试用Blazor,编号为15.8.x


并安装.net core 2.1 RC。2.1.2不会剪切它。

您可以使用15.7或更高版本的预览之一。既然15.7决赛已经出局了,使用这些是没有意义的。您还可以使用15.8预览,因为它们是在15.7最终版本的基础上增加的。
访问了解最新的入门细节等。

我也遇到了同样的问题(在VS中运行应用程序时出现黑屏,CLI中的选项“7.3”无效),我只需要升级SDK版本。使用
dotnet--info
检查此项2.1.300-preview1不起作用,您似乎需要2.1.300-rc1,它可以从获得。我在visual studio 2019上,在构建MVC REST Api项目时也遇到了这个错误。我通过将框架版本减少到4.5(在4.6.1上)来解决这个问题。

在VS2019上,我转到项目文件,将目标框架从4.6.2更改为4.7.2,项目构建成功。然后返回到4.6.2,它仍然成功地构建了这个问题,一次干净的重建为我解决了这个问题。

直到我关闭Visual Studio并删除了.vs文件夹,然后重新打开、清理和重建,清理和重建才对我起作用。

到2020年10月,我在vs 2019上。。这是我的错误导致我用谷歌搜索到这篇文章:

CS1617/langversion的无效选项“7.3”;必须是ISO-1、ISO-2、默认值、最新版本或范围为1到7.1的有效版本

FWIW-我只是在做一个老式的.NET Framework/ASP.NET/Web API2项目,FWIW,不想用标准或核心做任何很酷的事情

我挠头是因为:

  • 它在我的工作站上工作
  • 它在我的Azure CI管道上工作
  • 所以。。为什么不在家里的Win 10 pro工作站上
  • 解决方案
    • 我启动了Visual Studio安装程序>2019>更多>修改屏幕
    • 切换到
      单个组件
      选项卡,向下滚动到
      代码工具
    • 发现这个小复选框需要检查
      NuGet目标和构建任务
      这是唯一一件我能轻易分辨出我在工作和家庭中的两个工作站不同的东西。我认为,选中复选框起了作用,而不仅仅是因为我在恢复nugets后被迫关闭并重新启动Visual Studio。。但你永远不知道

    由于该应用程序以前可以正常工作,但最近被从回购协议中撤到了一台新电脑上,因此遇到了这个问题。第一个问题是找不到Nuget包,当我们修复该错误时,出现了这个错误。解决办法是:

  • 关闭Visual Studio
  • 开放解
  • 删除Microsoft.Net.Compiler(因为它已被弃用)
  • 将Microsoft.CodeDom.Providers.DotNetCompilerPlatform和Microsoft.Net.Compilers.Toolset更新/安装到其最新版本
  • 五,。清洁和重建解决方案


    我的直觉是,这两个软件包的版本不匹配导致语言选项出现问题,但我不知道这是如何出现的,因为上次项目签入时它工作正常。

    在我的案例中,我使用新版本的visual studio打开解决方案,然后尝试使用旧版本的visual studio运行它

  • 用记事本打开csproj

  • 修改版本元素

    7.3
    

    6
    

  • 为您的场景使用适当的值

    我在VS 2019中遇到了与解决方案相同的问题。除了这个错误之外,我还有另外一个来自这个解决方案的两个项目的错误:

    cs0006:找不到c#元数据文件


    修复方法是关闭VS,从这些项目中删除obj文件夹,再次打开解决方案并进行编译。

    当您刚刚运行“csc”时,它会报告什么版本号?听起来VS2017安装的某些方面可能会被破坏。另外,当你说你已经安装了“.NETCore2.1.2”时,你的确切意思是什么?如果你能展示dotnet--info的结果,那将非常有帮助。你在构建会议上看到的大部分内容都是预览内容,尚未正式发布。VS2017的当前预览版本为15.8。小心点,这还不够稳定,你每天的工作都依赖它。@HansPassant:谢谢:)我明白了,很高兴能尝试一下。@DaisyShipton:经过编辑以反映
    dotnet--info
    但是``csc``出现以下错误:“csc”不被识别为内部或外部命令。听起来您有一个稍旧的.NET Core 2.1 SDK预览。我建议您从这个链接安装rc1,这似乎表明使用最新的2.1和15.7就足够了?好的。15.7.x是几天前的预览版。blogpost谈论的是15.7预览版,它并不存在。所以这是令人困惑的。我建议测试预览版15.8,它对我有效。另外,请确保您的.NETF
    <LangVersion>7.3</LangVersion>
    
    <LangVersion>6</LangVersion>