Why don't you go with us?
.NET Standard 2.0 is final
Bigger API Surface: We have more than doubled the set of available APIs from 13k
in .NET Standard 1.6to 32k in .NET Standard 2.0. Most of the added APIs are .NET Framework APIs. These additions make it much easier to port existing code to .NET Standard, and, by extension, to any .NET implementation of .NET Standard, such as .NET Core 2.0 and the upcoming version of UWP.
.NET Framework compatibility mode: The vast majority of NuGet packages are currently still
targeting .NET Framework. Many projects are currently blocked from moving NET Standard because not all their dependencies are to. targeting .NET Standard yet. That's why we added a compatibility mode that allows .NET Standard projects to depend on .NET Framework libraries as if they were compiled for .NET Standard. Of course, this may not work in all cases (for instance, if the .NET Framework binaries usesWPF), but we found that 70% of all NuGet packages on nuget.org are API compatible with .NET Standard 2.0, so in practiceit unblocks many projects.
- Broad platform support. .NET Standard 2.0 is supported on the following platforms:
- .NET Framework 4.6.1
- .NET Core 2.0
- Mono 5.4
- Xamarin.iOS 10.14
- Xamarin.Mac 3.8
- Xamarin.Android 7.5
- UWP is work in progress and will ship later this year.
In general, make sure you run the latest version of the tooling:
- .NET Core SDK. You always need to
install .NET Core 2.0 Preview 2. This also includes the CLI (
dotnet) for building packages, so if you only want to use the CLI, you can stop here.
- Visual Studio. If you want to use Visual Studio for
authoring .NET Standard 2.0 libraries, you also need to install Visual Studio 2017 15.3. Make sure to use 15.3 and not an earlier version, as this release addressed a couple of key issues to provide a good experience.
- Visual Studio for Mac. The latest version of Visual Studio for Mac supports
building .NET Standard 2.0 libraries.
- Rider. The latest version also has support
for .NET Standard 2.0.
Learn more by reading
For discussion, see dotnet/standard#439.