49

我下载了 VS 2017 15.7、.NET Core 2.1.2 和 Blazor 进行试用。它在 VS 2017 中无法正常工作,并认为我会尝试通过 dotnet cli 和 VS Code。相反,我遇到了以下错误:

CSC : error CS1617: Invalid option '7.3' for /langversion.

在 VS 中,它将运行应用程序显示“正在加载...”,然后什么也没有。不确定这两个问题是否相关

dotnet --info返回以下内容:

.NET Command Line Tools (2.1.300-preview1-008174)

Product Information:
 Version:            2.1.300-preview1-008174
Commit SHA-1 hash:  b8df89a54f

Runtime Environment:
 OS Name:     Windows
 OS Version:  10.0.17666
 OS Platform: Windows
 RID:         win10-x64
 Base Path:   C:\Program Files\dotnet\sdk\2.1.300-preview1-008174\

Microsoft .NET Core Shared Framework Host

  Version  : 2.1.0-preview1-26216-03
  Build    : f2c3216183d20416568a4bbf5bb7d153e826f153
4

14 回答 14

84

刚刚有了这个和清理,重建为我解决了这个问题。

于 2020-06-24T09:57:01.937 回答
23

在VS 2019上,我去项目文件,将目标框架从4.6.2更改为4.7.2,项目构建成功。然后恢复到 4.6.2,它仍然可以成功构建

于 2020-04-28T16:30:35.007 回答
16

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

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

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

我挠头是因为:

  1. 它可以在我的工作站上工作
  2. 它适用于我的 Azure CI 管道
  3. 那么.. 为什么不在我家的 Win 10 pro 工作站上呢?

解决方案

  • 我启动了 Visual Studio 安装程序 > 2019 > 更多 > 修改屏幕
  • 切换到Individual Components选项卡,向下滚动到Code Tools
  • 并发现这个小复选框需要检查NuGet targets and build tasks 在此处输入图像描述 这是我唯一可以轻松辨别出我在工作和家庭中的 2 个工作站之间的不同之处。我认为选中该框会有所不同,而不仅仅是我在恢复 nugets 后被迫关闭并重新启动 Visual Studio 的事实......但你永远不会知道。
于 2020-10-26T17:54:48.503 回答
12

在我关闭 Visual Studio 并删除 .vs 文件夹然后重新打开、清理和重建之前,清理和重建对我不起作用。

于 2020-08-30T09:46:14.877 回答
5

刚刚遇到了这个问题,因为该应用程序以前可以工作,但最近从回购中被拉到了新计算机上。第一个问题是找不到 Nuget 包,当我们修复该错误时,出现了这个错误。解决方案是:

  1. 关闭 Visual Studio
  2. 开放式解决方案
  3. 删除 Microsoft.Net.Compilers(已弃用)
  4. 将 Microsoft.CodeDom.Providers.DotNetCompilerPlatform 和 Microsoft.Net.Compilers.Toolset 更新/安装到最新版本 为 Microsoft 编译器包安装 Nuget

5.清理和重建解决方案

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

于 2020-10-27T15:16:20.710 回答
5

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

与安装程序

并安装 .net core 2.1 RC。2.1.2就不会砍了。

于 2018-05-10T06:47:58.880 回答
2

I had the same issue with solution in VS 2019. In addition to this error, I had another error for two projects from this solution:

cs0006: c# metadata file could not be found

The fix was to close VS, remove obj-folder from these projects, open solution again and compile.

于 2021-06-01T12:39:42.310 回答
2

在我的情况下,问题是 Typescript 版本设置为“2.5(不可用)”,在项目属性中,选项卡 TypeScript 构建。我更改为“使用最新可用的”来解决问题。

为什么设置为不可用版本?因为源文件是从存档中签出的,该存档源自另一台具有 TS 版本 2.5 的 PC 上的 VisualStudio。现在的PC没有2.5,只有4.1。

于 2021-08-27T10:22:20.967 回答
2

就我而言,我使用新版本的 Visual Studio 打开了解决方案,然后尝试使用旧版本运行它

  1. 用记事本打开csproj

  2. 修改 LangVersion 元素

    <LangVersion>7.3</LangVersion>
    

    <LangVersion>6</LangVersion>
    

为您的场景使用适当的值

于 2021-02-16T21:32:07.150 回答
1

我在 Visual Studio 2019 上,并且在构建 MVC REST Api 项目时也遇到了该错误。我通过将框架版本减少到 4.5(它在 4.6.1 上)来解决它。

于 2020-04-15T16:02:51.573 回答
1

您可以使用 15.7 预览版或更高版本之一。现在 15.7 决赛已经结束,使用这些有点毫无意义。您还可以使用 15.8 预览版,因为它们是在 15.7 最终版之上的增量。访问blazor.net以获取有关入门等的最新详细信息。

于 2018-05-10T17:49:54.310 回答
0

我遇到了同样的问题(在 VS 中运行应用程序时出现空白屏幕,CLI 中的选项“7.3”无效),我只需要升级 SDK 版本。使用dotnet --info. 2.1.300-preview1不起作用,您似乎需要从https://www.microsoft.com/net/download/all获得的2.1.300-rc1

于 2018-05-16T22:13:31.193 回答
0

Bkwdesign的回答和这篇文章对我有所帮助。后者在本地解决了问题,但在我的构建服务器上失败了,出现了一些关于“GetPathsOfAllDirectoriesAbove()”的错误。在进入那个兔子洞之前(因为服务器上的构建从来没有问题),我来到了 bkwdesign 的答案。我没有遵循整件事,只是更新了 VS 2019 并且它在本地工作。我的构建服务器仍然很好。

于 2021-12-15T15:36:40.010 回答
0

这些都不适合我。我的代码可以顺利编译,但在我尝试发布时会因上述错误而失败。为了修复它,我发现文件Directory.Build.Props需要编辑

<Project>
 <PropertyGroup>
   <LangVersion>Default</LangVersion>
 </PropertyGroup>
</Project>

希望有人发现这个金块有用!

于 2021-09-13T14:06:16.030 回答