I’m working on standardizing my code using the latest and greatest .NET features. For me, that currently means adding the following to the first <PropertyGroup> section in my csproj file: <LangVersion>latest</LangVersion> <Nullable>enable</Nullable> <TreatWarningsAsErrors>true</TreatWarningsAsErrors> <WarningsAsErrors /> LangVersion : Allows me to use the latest features in C#, like switch expressions, tuple patterns, and using declarations. Nullable : Incorporating nullable reference types, which is new and weird, but it’s a fantastic way to greatly reduce unnecessary null-checking and NullReferenceException errors. TreatWarningsAsErrors and WarningsAsErrors : Honestly, I started reading what the difference is between these, and I gave up, so I just said screw it and put both in there. This marks compiler warnings as errors, forcing me to follow my own standards. My configuration in Visual Studio (in 2019: Tools/Options/Text Editor/C#/...