-
Notifications
You must be signed in to change notification settings - Fork 4.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Should M.E.DependencyModel only target netstandard2.0+ going forward? #3425
Comments
Dropping a platform is a breaking change for your consumers. For BCL-level packages we generally don't do that. However, we often only have the current source be on latest and harvest the old binaries from the previously uploaded package. This reduces the maintenance burden. We could talk to the NuGet team about generalizing this during pack. I don't have opinions on whether or not it's acceptable for |
In case it's relevant Roslyn decided to move to netstandard20 only dropping our netstandard1.3 platforms in the NuPkg. This was a result of VS moving to require net472 hence making netstandard20 an option. The benefits of targeting it were high enough we felt it justified the dropping support for netstandard1.3. |
That sounds a like a non-sequitur to me. You can offer .NET Standard 2.0 without dropping 1.x. Presumably your unstated position is that you don't want the support burden of doing both, so if you had to pick only one, you felt justified with choosing 2.0? |
Yes / No. Consider that many of our dependencies were moving to netstandard20 exclusively. That forced our hand a bit. But if we had all collectively decided that "hey we want to keep netstandard1.3 around" then as a group we could have all decided to keep it. But we didn't because ...
Correct. The burden of maintaining netstandard1.1 is quite high in our setup. |
That's fair. |
I believe DependencyModel is in a similar position as Roslyn here - the burden of maintaining
Again, we have the same situation here - we are making DependencyModel depend on the new JSON parsing/writing source package, which is Unless we get customer feedback that DependencyModel |
Confirming what @eerhardt said - aspnet doesn't need netstandard1.x. I'm in favor of dropping it unless we get real feedback that lower TFMs are important for 3.0. |
For 3.0+, sdk requires something that is net472 and netcoreapp3.0 compatible. So netstandard2.0 is fine for us too. |
Setting the milestone to |
I plan on doing this as part of moving We can add back the |
Moving DependencyModel to the same folder and infrastructure as the rest of our libraries, and out of the installer folder. I also dropped support for anything below netstandard2.0 at this time. Contributes to dotnet#3470 Fix dotnet#3425
* Move DependencyModel to libraries Moving DependencyModel to the same folder and infrastructure as the rest of our libraries, and out of the installer folder. I also dropped support for anything below netstandard2.0 at this time. Contributes to #3470 Fix #3425 * Exclude DependencyModel in shims and package checks since it has a duplicated type with System.Collections. * Harvest previous TFM assets from the previously shipped package. This also means we start building DependencyModel for net461 to ensure full framework support works correctly, and doesn't pick up the old net451 asset. * Fix unit tests to consistently pass on core and netfx. * Add back HashCodeCombiner as obsolete. * Fix DependencyModel pkg build to reference the correct version of Newtonsoft.Json for the harvested package assets. * Adding IgnoredTypes for Serialization.Primitives in netcoreapp1.0 and netcoreapp1.1 Co-authored-by: Jose Perez Rodriguez <[email protected]>
M.E.DependencyModel currently supports several TFMs which means we have to maintain the use of two JSON APIs (System.Text.Json for netstandard2.0+ and Newtonsoft.Json for < netstandard2.0).
https://github.com/dotnet/core-setup/blob/63a01b08e5d1d1a6b8544f598b3d3bda76e6e424/src/managed/Microsoft.Extensions.DependencyModel/Microsoft.Extensions.DependencyModel.csproj#L6
We should consider only targeting netstandard2.0 for the upcoming major release and simplify our dependencies.
VS requires 4.7.2 which is compatible with netstandard2.0.
This effort goes in conjunction with dotnet/announcements#90 and helps remove the dependency on Json.NET more cleanly: https://github.com/dotnet/core-setup/issues/3311
Related PRs:
cc @joshfree, @glennc, @eerhardt, @terrajobst, @jaredpar, @ericstj, @davidfowl, @livarcocc
The text was updated successfully, but these errors were encountered: