首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何为整个项目启用C# 8.0的可空引用类型特性

如何为整个项目启用C# 8.0的可空引用类型特性
EN

Stack Overflow用户
提问于 2018-12-05 13:33:03
回答 6查看 77.5K关注 0票数 131

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

但是如何为项目启用它呢?在Visual 2019预览1中的Properties窗口中,我没有找到任何新的适当选项。

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

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2019-05-23 03:07:13

在VisualStudio16.2中(预览1中),属性名被更改为Nullable,这更简单,并且与命令行参数对齐。

将下列属性添加到.csproj文件中。

代码语言:javascript
复制
<PropertyGroup>
  <Nullable>enable</Nullable>
  <LangVersion>8.0</LangVersion>
</PropertyGroup>

如果以netcoreapp3.0或更高版本为目标,则不需要指定LangVersion来启用可空引用类型。

或者,如果您喜欢使用GUI,请打开Properties,搜索可空并选择您想要的选项:

对于旧版本的Visual:

  • 从16.0预览2到16.1,将NullableContextOptions设置为enable
  • 在16.0预览1中,将NullableReferenceTypes设置为true
票数 150
EN

Stack Overflow用户

发布于 2019-02-04 17:38:23

请注意,此设置在VS 2019年预览1和预览2之间更改。

代码语言:javascript
复制
<PropertyGroup>
  <LangVersion>8.0</LangVersion>
  <NullableContextOptions>enable</NullableContextOptions>
</PropertyGroup>

在之前的答案中提到的<NullableReferenceTypes> (当我在2019年2月4日最初写这个答案时,它被标记为已被接受的答案)在写这个答案时是正确的,但是它已经不再被识别了。

票数 36
EN

Stack Overflow用户

发布于 2019-12-29 20:24:53

除了@DrewNoake接受的答案之外,请注意,可以通过在包含文件的文件夹中添加一个名为Directory.Build.props的文件,同时为所有项目设置可空属性。

只需像这样定义您的Directory.Build.props文件:

代码语言:javascript
复制
<Project>

  <PropertyGroup>
    <Nullable>enable</Nullable>
  </PropertyGroup>

</Project>

您需要重新启动Visual才能使其生效。

更多关于Directory.Build.props的信息。

票数 27
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53633538

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档