Currently, we bundle netstandard 2.1 in SDK 3.0. I see dotnet/standard master is producing netstandard 2.2.
Should Core-Setup bundle up 2.2 and have that used in the SDK (https://github.com/dotnet/core-setup/issues/7567)? Or should the SDK continue to bundle netstandard 2.1? Should more than one version be bundled?
The question of whether we need more .NET Standard releases in a 5.0 world seems very relevant. (I don't know any newer info than https://devblogs.microsoft.com/dotnet/introducing-net-5/.)
@wtgodbe @nguerrera
Note that all versions of .net standard will work regardless of which targeting packs we bundle. The targeting pack will be fetched from NuGet if not bundled. So it is a question of what we expect to work “offline”
@terrajobst
I would think 2.2 is right, as that's the branding we chose for the 5.0 timeframe
@nguerrera what version did we end up bundling for 3.0? Was that 2.1 or 2.0?
2.1, but that was the only possible choice. We use the legacy NuGet package for < 2.1. We did not want to change how existing projects build.
2.0 is the default for dotnet new classlib so if we could have done it, it would have been good to bundle 2.0. Generally, I think it's good if as many default templates as possible can build offline.
Ah yes, that makes sense.
In that case, I agree with @wtgodbe to bundle 2.2 because we'll either continue to default to 2.0 (in which case 2.1 or 2.2 make no difference) or 2.2 (in which case 2.2 is the better choice).
@dagood, does this answer your question?
Yes, thanks!
The fact that the 2.2-versioned packages contain netstandard2.1 means that the targeting pack is branded 2.1 (https://github.com/dotnet/standard/issues/1421), but the targeting pack does contain the assets from the 2.2-versioned packages.
Per https://github.com/dotnet/standard/issues/1421, the 2.2-versioned package TFM will be changing to netstandard2.2.