首页 > 解决方案 > 在 Unity 中自定义 .csproj 启用可为空的引用类型

问题描述

Unity3D 的 2020.2 版本现在支持 C# 8 和可为空的引用类型。选择启用此语言功能的默认方式是放入<Nullable>enable</Nullable>您的.csproj文件中,但 Unity.csproj每次编译时都会重新生成并删除该行。

有没有办法将自定义内容插入到我.csproj#nullable enable.

标签: c#unity3d

解决方案


我做了@Fadeway 建议的配置,它适用于在 Unity 本身内构建(2020.3.15f2)。但是在使用外部编辑器时它不起作用(在我的例子中是 VSCode)。

Directory.Build.props但是,通过添加一个与您.sln的项目文件一起命名的新文件,其内容如下:

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

.csproj它在编辑器中按预期工作,并且在从 Unity 中重新生成文件时不会被覆盖


推荐阅读