Using Visual Studio 2019 v16.3.2 with a .NET Core 3.0 project set to C# 8 and nullable reference types enabled.
<PropertyGroup>
<TargetFramework>netcoreapp3.0</TargetFramework>
<LangVersion>8.0</LangVersion>
<Nullable>enable</Nullable>
</PropertyGroup>
If I set it to treat all warnings as errors:
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
<WarningsAsErrors />
It reports other warnings as errors. For example, CS0168 The variable 'x' is declared but never used
is reported as an error. But all the nullable reference warnings are still reported as warnings. For example, CS8600 Converting null literal or possible null value to non-nullable type.
is still reported as a warning.
How do I treat all nullable reference warnings as errors?
Note: even setting CS8600 specifically to be treated as an error doesn't cause it to be reported as an error. If that worked, it still wouldn't help with treating them all as errors because there are so many.
Edit: setting specific warnings to be treated as errors puts <WarningsAsErrors>CS8600;CS8602;CS8603</WarningsAsErrors>
in the csproj and doesn't work.