如何启用 C# 9.0-preview

Jer*_*lec 28 c# .net-5 c#-9.0

我已经下载并安装了v5.0.0-preview.5。我的项目正在瞄准net5.0C# 9.0不起作用。我怎样才能启用C# 9.0

Dai*_*Dai 21

截至 2020 年 10 月:

请在此处查看@Pac0 的回答:https ://stackoverflow.com/a/64386529/159145

截至 2020 年 6 月:

根据这一页的文档中,你需要编辑您的*.csproj设置<LangVersion>preview

在有关预览版的博客文章中(但不是上述文档页面)还提到,您也需要将项目的targetFramework属性更新net5.0 (这是因为 C# 设计团队决定将整个 C# 语言版本限制为最低 BCL 版本,与以前不同的是,您甚至可以将 C# 7 与 .NET Framework 2.0 一起使用,前提是您重新实现了自己缺少的 BCL 类型,例如ValueTupleExtensionAttribute)。

所以你的*.csproj文件应该是这样的:

<Project>
 <PropertyGroup>
   <LangVersion>preview</LangVersion>
   <TargetFramework>net5.0</TargetFramework>
 </PropertyGroup>
</Project>
Run Code Online (Sandbox Code Playgroud)

  • @JerzyGrzelec 这确实有效。不过,大多数 C# 9 功能尚未发布。您是否尝试过使用任何*可用的功能?您是否尝试过安装 Visual Studio 2019 的预览版本之一?即使在最新的预览中,唱片也没有发布 (2认同)

Pac*_*ac0 13

截至 2020 年 10 月,

  1. 您可以在 .csproj 中明确使用 9.0 语言版本
  2. 使用目标框架作为 .net 5默认隐式使用 C# 9

.csproj 应该是这样的:

<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>net5.0</TargetFramework>
  </PropertyGroup>
</Project>
Run Code Online (Sandbox Code Playgroud)

可以<LangVersion>9.0</LangVersion>根据需要添加,但它应该是可选的。

当然可以调整 OutputType,并且您需要.NET 5 SDK

例如,请参阅此博客了解更多信息。


Jam*_*mes 7

首先下载.NET 5,然后安装Visual Studio Preview Edition。您现在可以访问 C# 9 的最新功能。还要确保您的项目文件包含以下内容。

 <PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net5.0</TargetFramework>
<LangVersion>preview</LangVersion>
Run Code Online (Sandbox Code Playgroud)