Define the target frameworks only once, without condition on the operating system. Now that the Microsoft.NETFramework.ReferenceAssemblies package is automatically referenced by the .NET SDK, the project builds fine also on Linux and macOS.
Remove the COREFX constant, use appropriate constants already defined by the SDK (NETSTANDARD1_6) where needed.
Update all test dependencies to their latest versions
Simplify the package dependencies, only include what's actually needed. Note that absolutely no package references are needed for .NET Standard 2.0 and 2.1
Dropping support for .NET Standard 1.6 will be easy:
Search for the three occurrences of #if NETSTANDARD1_6 and delete the code
Remove netstandard1.6 in the target frameworks
Remove the whole <ItemGroup Condition=" '$(TargetFramework)' == 'netstandard1.6' ">
COREFX
constant, use appropriate constants already defined by the SDK (NETSTANDARD1_6) where needed.Dropping support for .NET Standard 1.6 will be easy:
#if NETSTANDARD1_6
and delete the codenetstandard1.6
in the target frameworks<ItemGroup Condition=" '$(TargetFramework)' == 'netstandard1.6' ">