我已经下载并安装了v5.0.0-preview.5
。我的项目目标是net5.0
,但C# 9.0
无法工作。我该如何启用C# 9.0
?
我已经下载并安装了v5.0.0-preview.5
。我的项目目标是net5.0
,但C# 9.0
无法工作。我该如何启用C# 9.0
?
请参见@Pac0在此处的答案: https://dev59.com/XFIG5IYBdhLWcg3w419n#64386529
根据文档中的这个页面,您需要编辑*.csproj
以将<LangVersion>
设置为preview
。
在有关预览版发布的博客文章中也提到了,但上述文档页面没有提到您还需要更新项目的targetFramework
属性为net5.0
(这是因为C#设计团队决定将整个C#语言版本限制为最低BCL版本,而以前您可以使用C# 7甚至.NET Framework 2.0 只要重新实现自己缺少的BCL类型,如ValueTuple
和ExtensionAttribute
)。
因此,您的*.csproj
文件应如下所示:
<Project>
<PropertyGroup>
<LangVersion>preview</LangVersion>
<TargetFramework>net5.0</TargetFramework>
</PropertyGroup>
</Project>
*.csproj
的人:在 解决方案资源管理器
上右键单击您的项目,然后选择 编辑项目文件
。 - Second Person Shootercsc langversion
部分,因为它是不准确和误导性的。 - Daidotnet build
来构建 .csproj。即使启用了“使用 .NET Core 预览 SDK”设置,在 VS2019 中构建也无法正常工作。 - PuerNoctis截至2020年10月,
.csproj应该如下所示:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net5.0</TargetFramework>
</PropertyGroup>
</Project>
如果您希望,可以添加<LangVersion>9.0</LangVersion>
,但这应该是可选的。
当然,可以适应OutputType,并且您将需要.NET 5 SDK。
有关更多信息,请参见此博客。
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net5.0</TargetFramework>
<LangVersion>preview</LangVersion>