使用 Visual Studio 2019 v16.3.2,将 .NET Core 3.0 项目设置为 C# 8 并启用可为 null 的引用类型。
<PropertyGroup>
<TargetFramework>netcoreapp3.0</TargetFramework>
<LangVersion>8.0</LangVersion>
<Nullable>enable</Nullable>
</PropertyGroup>
如果我将其设置为将所有警告视为错误:
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
<WarningsAsErrors />
它将其他警告报告为错误。例如,CS0168 The variable 'x' is declared but never used
被报告为错误。但所有可为空的引用警告仍会报告为警告。例如,CS8600 Converting null literal or possible null value to non-nullable type.
仍报告为警告。
我该如何治疗 all 可空引用警告作为错误?
注意:即使专门将 CS8600 设置为错误也不会导致将其报告为错误。如果这有效,那么将它们全部视为错误仍然无济于事,因为错误太多了。
编辑:设置特定警告被视为错误<WarningsAsErrors>CS8600;CS8602;CS8603</WarningsAsErrors>
在 csproj 中并且不起作用。
现在可以将所有与可为空相关的警告视为错误,而无需显式全部指定它们。为了达到这个目的,你必须设置<WarningsAsErrors>Nullable</WarningsAsErrors>
在您的 *.csproj 文件中[source] https://github.com/dotnet/roslyn/issues/41605.
完整示例:
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>netcoreapp3.1</TargetFramework>
<Nullable>enable</Nullable>
<WarningsAsErrors>Nullable</WarningsAsErrors>
</PropertyGroup>
</Project>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)