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
はエラーとして報告されます。ただし、null許容の参照警告はすべて警告として報告されます。例えば、 CS8600 Converting null literal or possible null value to non-nullable type.
は引き続き警告として報告されます。
どのように扱うかすべてのnull可能参照警告をエラーとして扱いますか?
注:特にCS8600をエラーとして扱うように設定しても、エラーとして報告されることはありません。それがうまくいったとしても、非常に多くあるので、それらをすべてエラーとして扱うことには役立たないでしょう。
編集:エラーとして扱われる特定の警告を設定する<WarningsAsErrors>CS8600;CS8602;CS8603</WarningsAsErrors>
csproj内にあり、機能しません。
this ソリューションを使用することをお勧めします。 3つのエラーすべてとIMHOのより良い解決策について言及している
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>netcoreapp3.1</TargetFramework>
<LangVersion>8.0</LangVersion>
<WarningsAsErrors>CS8600;CS8602;CS8603</WarningsAsErrors>
</PropertyGroup>
</Project>