You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository has been archived by the owner on Dec 14, 2018. It is now read-only.
I want to publish a NuGet package that targets netstandard1.1, netstandard1.3, net45 and net46. My package depends on Microsoft.Extensions.Caching.Abstractions but since that package only targets netstandard1.0, I can't support net45 or net46 without requiring consumers stuck on those older frameworks having to install the whole contents of the NetStandard.Library 1.6.1 meta-package.
This actually highlights a much wider issue: In theory, libraries targeting NetStandard are supposed to be natively supported by the full .NET Framework. But in practice, if they don't also target older TFMs then consuming projects built against the full .NET Framework have to install a load of NuGet packages:
As a NuGet package author, I shouldn't have to target older TFMs such as net45 and net46, but unfortunately I do have to in order to not scare the living crap out of anyone who wants to install my package in a project that has not yet, or will never be, upgraded to .NET Core.
I even tried adding this to my consuming .NET Framework project, but unfortunately it doesn't work:
NetStandard was supposed to be great. It's a shame Microsoft messed it up so badly. In the meantime, until it get's fixed at the platform level, please make the Microsoft.Extensions.Caching.Abstractions library target older TFMs.
The text was updated successfully, but these errors were encountered:
It seems there are a few separate concerns here, but I'll simplify this to (1) too many packages and (2) .NET Framework 4.5 support.
As we announced last week, we intend to move this and all Microsoft.Extensions.* packages to .NET Standard 2.0 before the 2.0.0 release (see aspnet/Announcements#249). This will address (1) as NETStandard.Library 2.0.0 will consolidate the dozens of System.* packages down to two. However, this will not address (2) as a part of this. .NET Standard 2.0 requires .NET Framework 4.6.1.
Closing as this is not something we indent to change at the moment. If you have more feedback, dotnet/aspnetcore#2045 is the best place to discuss this move.
I want to publish a NuGet package that targets
netstandard1.1
,netstandard1.3
,net45
andnet46
. My package depends on Microsoft.Extensions.Caching.Abstractions but since that package only targetsnetstandard1.0
, I can't supportnet45
ornet46
without requiring consumers stuck on those older frameworks having to install the whole contents of the NetStandard.Library 1.6.1 meta-package.This actually highlights a much wider issue: In theory, libraries targeting
NetStandard
are supposed to be natively supported by the full .NET Framework. But in practice, if they don't also target older TFMs then consuming projects built against the full .NET Framework have to install a load of NuGet packages:Which of the above libraries is actually required by Microsoft.Extensions.Caching.Abstractions? I bet maybe one or two only! It should depend on only the smallest set of dependencies it needs, rather than the whole NetStandard.Library 1.6.1 meta-package!
As a NuGet package author, I shouldn't have to target older TFMs such as
net45
andnet46
, but unfortunately I do have to in order to not scare the living crap out of anyone who wants to install my package in a project that has not yet, or will never be, upgraded to .NET Core.I even tried adding this to my consuming .NET Framework project, but unfortunately it doesn't work:
NetStandard was supposed to be great. It's a shame Microsoft messed it up so badly. In the meantime, until it get's fixed at the platform level, please make the Microsoft.Extensions.Caching.Abstractions library target older TFMs.
The text was updated successfully, but these errors were encountered: