我有几个.NET Standard项目的解决方案,我想要启用类似下面这样的C# 8和可空特性:
<PropertyGroup>
<TargetFramework>netstandard2.1</TargetFramework>
<LangVersion>8.0</LangVersion>
<Nullable>enable</Nullable>
</PropertyGroup>
注意:这些设置可以在你的 .csproj 文件中找到。
问题是有些项目编译正常,而有些则出现错误:
C# 7.3 的可空值无效:请使用语言版本“preview”或更高版本的“启用”
我正在使用 Visual Studio 16.2 预览版 2 和 .NET Core 3 预览版 6。这是预览版中的 bug 还是我的操作有误?
<LangVersion>8.0</LangVersion>
而不是<LangVersion>preview</LangVersion>
。请参考此页面了解如何指定preview
、latest
等版本。 - Rufus L8.0
版本。你那些失败的项目中是否有global.json
文件,并指向一个更早的 SDK? - Panagiotis Kanavos