【发布时间】:2019-06-17 18:36:48
【问题描述】:
我有几个 .NET Standard 项目的解决方案,我想启用 c# 8 并且可以为空,如下所示:
<PropertyGroup>
<TargetFramework>netstandard2.1</TargetFramework>
<LangVersion>8.0</LangVersion>
<Nullable>enable</Nullable>
</PropertyGroup>
问题是有些项目编译正常,有些有错误:
“可为空”值无效:C# 7.3 的“启用”。请使用语言 版本“预览”或更高版本
我有 Visual Studio 16.2 Preview 2 和 .NET Core 3 Preview 6。这是预览中的错误还是我做错了什么?
【问题讨论】:
-
你有
<LangVersion>8.0</LangVersion>,而不是<LangVersion>preview</LangVersion>。请参阅this page 了解如何指定preview、latest等... -
跟预览报错信息是一样的
-
无复制。我也使用
8.0。在那些失败的项目中,您是否有指向较早 SDK 的global.json? -
对于 repro 我有我的代码 github - 例如这个项目失败了 - github.com/bigdnf/HomeCenter/blob/Core3/Core/HomeCenter.Model/…。我不记得有任何全局变量。
标签: c# nullable c#-8.0 nullable-reference-types