首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在C# 5预览5中启用.NET 9会引发新的C# 9特性的编译器错误

在C# 5预览5中启用.NET 9会引发新的C# 9特性的编译器错误
EN

Stack Overflow用户
提问于 2020-06-22 18:44:09
回答 2查看 7.7K关注 0票数 5

我遵循这个答案:如何启用C# 9.0-预览来启用C# 9。

我安装了.NET 5预览5,其中包括新的C# 9。

Microsoft.NETCore.App 5.0.0-预览5.20278.1 C:\Program Files\dotnet\shared\Microsoft.NETCore.App

我试着使用C# 9

代码语言:javascript
复制
public class Person
{
    public string FirstName { get; init; }
    public string LastName { get; init; }
}

项目设置如下:

代码语言:javascript
复制
<LangVersion>9</LangVersion>

但是我得到了一个编译错误:

错误CS1617无效选项'9‘/langversion。使用'/langversion:?‘若要列出支持的值,请执行以下操作。

我运行时没有在列表中找到9条:

代码语言:javascript
复制
csc -langversion:?

清单如下:

代码语言:javascript
复制
default
1
2
3
4
5
6
7.0
7.1
7.2
7.3
8.0 (default)
latestmajor
preview
latest

然后,我按照这个答案的建议使用,但这也帮不了我,也用了

代码语言:javascript
复制
<LangVersion>preview</LangVersion>

但是我得到了一个编译错误。

Program.cs(26,40):错误CS1014:预期的get或set访问器

在C# 5预览5中使用.NET 9,我错过了什么?

EN

回答 2

Stack Overflow用户

发布于 2020-06-27 19:42:03

我启用了C# 9,如这个答案和@PanagiotisKanavos所述:

代码语言:javascript
复制
<PropertyGroup>
  <OutputType>Exe</OutputType>
  <TargetFramework>net5.0</TargetFramework>
  <LangVersion>Preview</LangVersion>
</PropertyGroup>

.NET 5预览5或预览6不支持init特性和C# 9的大多数。

我安装了来自https://aka.ms/dotnet/net5/dev/Sdk/dotnet-sdk-win-x64.exe的最新SDK。

目前提供预览8( 5.0.100-preview.8.20327.5)。

我可以在VisualStudio2019.6.2(编辑器仍然显示红线,但生成成功)或使用Visual (完美和init感知新的C# 9语法)中构建包括C#特性在内的项目。

大多数,几乎所有的C# 9在博客文章中的特性都与.NET 5预览8很好地工作。

更新2020年7月3日

替代解决方案

要使用.NET 5预览5,请安装包Microsoft.Net.Compilers.Toolset, Version 3.8.0-1.20330.5。它支持init特性和许多c# 9新特性。

代码语言:javascript
复制
Install-Package Microsoft.Net.Compilers.Toolset -Version 3.8.0-1.20330.5 -Source https://dotnet.myget.org/F/roslyn/api/v3/index.json

更新:2020年8月7日

VisualStudio2019版本16.7是在支持C# 9的情况下发布的。

在developer命令提示符中,键入以下命令:

代码语言:javascript
复制
csc -langversion:?

Supported language versions:
default
1
2
3
4
5
6
7.0
7.1
7.2
7.3
8.0 (default)
9.0
latestmajor
preview
latest

您可以在上面的列表中看到9.0,并且可以将LangVersion定义为9.0:

代码语言:javascript
复制
<PropertyGroup>
  <OutputType>Exe</OutputType>
  <TargetFramework>net5.0</TargetFramework>
  <LangVersion>9.0</LangVersion>
</PropertyGroup>

您不需要安装Microsoft.Net.Compilers.Toolset v3.8.0-1.20330.5,因为支持C# 9。

票数 7
EN

Stack Overflow用户

发布于 2020-10-13 00:34:34

跟随https://dotnetcoretutorials.com/2020/08/07/getting-setup-with-c-9-preview/

Visual有两项特定的内容。

  • 确保Visual更新为最新版本。我无法告诉您在Visual中有多少次不工作,而是通过命令行或Visual代码工作,这是因为Visual的版本。
  • 其次,您需要转到菜单工具.NET Options→“预览功能”,然后勾选“使用→Core预览”框。我想他们增加了这个功能,这样你就可以“玩”预览SDK,而不是让你的日常工作是由预览功能构建的。但你需要它滴答作响才能正常工作。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62521372

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档