根据C# 8公告视频,可以为整个项目启用“可空引用类型”特性。
但是如何为项目启用它呢?在Visual 2019预览1中的Properties窗口中,我没有找到任何新的适当选项。
如果将.csproj语言版本更改为8.0,是否可以为“遗留”C#项目启用?
发布于 2019-05-23 03:07:13
在VisualStudio16.2中(预览1中),属性名被更改为Nullable,这更简单,并且与命令行参数对齐。
将下列属性添加到.csproj文件中。
<PropertyGroup>
<Nullable>enable</Nullable>
<LangVersion>8.0</LangVersion>
</PropertyGroup>如果以netcoreapp3.0或更高版本为目标,则不需要指定LangVersion来启用可空引用类型。
或者,如果您喜欢使用GUI,请打开Properties,搜索可空并选择您想要的选项:

对于旧版本的Visual:
NullableContextOptions设置为enable。NullableReferenceTypes设置为true。发布于 2019-02-04 17:38:23
请注意,此设置在VS 2019年预览1和预览2之间更改。
<PropertyGroup>
<LangVersion>8.0</LangVersion>
<NullableContextOptions>enable</NullableContextOptions>
</PropertyGroup>在之前的答案中提到的<NullableReferenceTypes> (当我在2019年2月4日最初写这个答案时,它被标记为已被接受的答案)在写这个答案时是正确的,但是它已经不再被识别了。
发布于 2019-12-29 20:24:53
除了@DrewNoake接受的答案之外,请注意,可以通过在包含文件的文件夹中添加一个名为Directory.Build.props的文件,同时为所有项目设置可空属性。
只需像这样定义您的Directory.Build.props文件:
<Project>
<PropertyGroup>
<Nullable>enable</Nullable>
</PropertyGroup>
</Project>您需要重新启动Visual才能使其生效。
更多关于Directory.Build.props的信息。
https://stackoverflow.com/questions/53633538
复制相似问题