无法使用.NET Core 3、Preview 4编译C#8
我目前正在使用.NET Core 3、Preview 4和Visual Studio 2019版本16.0.2 以下是我的.NET核心项目的无法使用.NET Core 3、Preview 4编译C#8,c#,visual-studio,.net-core,c#-8.0,C#,Visual Studio,.net Core,C# 8.0,我目前正在使用.NET Core 3、Preview 4和Visual Studio 2019版本16.0.2 以下是我的.NET核心项目的.csproj文件的内容: <Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <OutputType>Exe</OutputType> <TargetFramework>netcoreapp3.0</TargetFrame
.csproj
文件的内容:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>netcoreapp3.0</TargetFramework>
<LangVersion>8.0</LangVersion>
</PropertyGroup>
</Project>
但是,它不会编译:
如您所见,编译器显示错误消息“意外令牌”
要在我的.NET核心项目中使用C#8语言功能,我应该怎么做?我禁用了ReSharper,问题消失了。如果在.csproj中的PropertyGroup中添加“enable in the PropertyGroup?”会发生什么?@mcalex不幸的是,您的建议不起作用——我看到了完全相同的错误消息:-(@mcalex请注意,在VS 16.1中,NullableContextOptions属性已重命名为Nullable。
public static string RockPaperScissors(string first, string second)
=> (first, second) switch
{
("rock", "paper") => "rock is covered by paper. Paper wins.",
("rock", "scissors") => "rock breaks scissors. Rock wins.",
("paper", "rock") => "paper covers rock. Paper wins.",
("paper", "scissors") => "paper is cut by scissors. Scissors wins.",
("scissors", "rock") => "scissors is broken by rock. Rock wins.",
("scissors", "paper") => "scissors cuts paper. Scissors wins.",
(_, _) => "tie"
};