首页 > 解决方案 > 如何为整个项目启用 C# 8.0 的 Nullable Reference Types 功能

问题描述

根据C# 8 公告视频,可以为整个项目启用“可空引用类型”功能。

但是如何为项目启用它呢?我在 Visual Studio 2019 Preview 1 的“项目属性”窗口中没有找到任何新的合适选项。

.csproj如果 C# 语言版本更改为 8.0,是否可以为“遗留”项目启用它?

标签: c#visual-studiovisual-studio-2019c#-8.0nullable-reference-types

解决方案


在 Visual Studio 16.2(从预览版 1 开始)中,属性名称更改为Nullable,这更简单并且与命令行参数对齐。

将以下属性添加到您的.csproj文件中。

<PropertyGroup>
  <Nullable>enable</Nullable>
  <LangVersion>8.0</LangVersion>
</PropertyGroup>

如果您的目标是netcoreapp3.0或更高版本,则无需指定 aLangVersion即可启用可为空的引用类型。


对于较旧的 Visual Studio 版本:

  • 从 16.0 预览 2 到 16.1,设置NullableContextOptionsenable.
  • 在 16.0 预览版 1 中,设置NullableReferenceTypestrue.

推荐阅读