【踩坑】CS8630 无效的Nullable值: C# 7.3的"Enable"
Nullable引用类型特性自 C# 8 才开始支持,而.NET Framework官方最高仅支持到7.3,详见
首先检查项目中是否真的使用了Nullable引用类型的语法特性(?.、object?等),如果已经使用了——
保留语法
由于C# 8.0开始支持相关特性,如果需要保留这种写法,那么只能通过修改项目文件将语言版本<LangVersion>提升为8,在.csproj文件中<PropertyGroup>节点下添加
<LangVersion>8.0</LangVersion>
但该方法不推荐,官方角度来说.NET Framework并不支持到8,尽管能用,但是与CLR相关的一些内容可能不会兼容。
不保留语法
如果你不希望保留Nullable特性,或者你发现项目里根本没有使用,并且发现解决方案下所有项目都抛出这个错误,那么说明解决方案的配置有问题——
在解决方案所在目录下找到Directory.Build.props文件,用文本编辑器打开,找到
<Nullable>Enable</Nullable>
将其删掉或者改为Disable即可。如果不在这个文件里,那么检查csproj项目文件里面有没有类似的内容。

浙公网安备 33010602011771号