【问题标题】:Unable to compile C# 8 using .NET Core 3, Preview 4无法使用 .NET Core 3,预览版 4 编译 C# 8
【发布时间】:2019-04-27 07:31:50
【问题描述】:

我目前正在使用 .NET Core 3,预览版 4Visual Studio 2019,版本 16.0.2

这是我的 .NET Core 项目的 .csproj 文件的内容:

<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>netcoreapp3.0</TargetFramework>
    <LangVersion>8.0</LangVersion>
  </PropertyGroup>

</Project>

作为实验,我将一些取自this page 的代码复制到我的项目中:

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"
};

但是,它不会编译:

如您所见,编译器显示错误消息“Unexpected token”。

我应该怎么做才能在我的 .NET Core 项目中使用 C# 8 语言功能?

【问题讨论】:

  • 如果在 .csproj 的 PropertyGroup 中添加 `enable 会发生什么?
  • @mcalex 不幸的是,您的建议不起作用——我看到了完全相同的错误消息。 :-(
  • @mcalex 请注意,在 VS 16.1 中,NullableContextOptions 属性已重命名为 Nullable。

标签: c# visual-studio .net-core c#-8.0


【解决方案1】:

我禁用了 ReSharper,问题就消失了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-13
    • 2019-07-29
    • 2021-10-26
    • 1970-01-01
    • 1970-01-01
    • 2023-03-12
    相关资源
    最近更新 更多