Bas*_*ase 6 c# visual-studio-code c#-8.0 nullable-reference-types
我在启用不可为空的引用类型时遇到了一些问题。不确定这是一个实际问题,还是我没有跟上最新的命名/设置。
这是我当前的设置(使用 VS Code):
dotnet 版本:3.0.100-preview6-012264 无所不能:1.20.0
我注意到启用 nullable 的标志已更改多次,但正如我在文档和互联网上看到的那样,最新的似乎是<Nullable/>
我全部启用的(下面显示的主 Web 项目和我的 .NET Standard 2.0 类库中) ):
<Project Sdk="Microsoft.NET.Sdk.Web">
...
<PropertyGroup>
<TargetFramework>netcoreapp3.0</TargetFramework>
<LangVersion>8.0</LangVersion>
<Nullable>enable</Nullable>
<WarningsAsErrors>CS8600;CS8602;CS8603</WarningsAsErrors>
</PropertyGroup>
</Project>
Run Code Online (Sandbox Code Playgroud)
如果我#nullable enable
在我正在测试的文件中使用,我会看到 IntelliSense 直接切换到正确的警报。在文件中添加它也会使构建失败(这是我正在寻找的行为)。
我在这里缺少什么才能在项目级别上工作?
总结上面的讨论:
这个命名目前在 omnisharp (vs code) 和使用 Visual Studio 时有所不同。因此,指定的 MS 文档<Nullable>
不适用。对于 omnisharp /<NullableContextOptions>enable</NullableContextOptions>
需要使用vs 代码代替(直到 omnisharp 已更新)。