我遵循这个答案:如何启用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
public class Person
{
public string FirstName { get; init; }
public string LastName { get; init; }
}项目设置如下:
<LangVersion>9</LangVersion>但是我得到了一个编译错误:
错误CS1617无效选项'9‘/langversion。使用'/langversion:?‘若要列出支持的值,请执行以下操作。
我运行时没有在列表中找到9条:
csc -langversion:?清单如下:
default
1
2
3
4
5
6
7.0
7.1
7.2
7.3
8.0 (default)
latestmajor
preview
latest<LangVersion>preview</LangVersion>但是我得到了一个编译错误。
Program.cs(26,40):错误CS1014:预期的get或set访问器
在C# 5预览5中使用.NET 9,我错过了什么?
发布于 2020-06-27 19:42:03
我启用了C# 9,如这个答案和@PanagiotisKanavos所述:
<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新特性。
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命令提示符中,键入以下命令:
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:
<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。
发布于 2020-10-13 00:34:34
跟随https://dotnetcoretutorials.com/2020/08/07/getting-setup-with-c-9-preview/
Visual有两项特定的内容。

https://stackoverflow.com/questions/62521372
复制相似问题