At the moment I'm porting an asp web api to .Net Core.
The api uses a Class library which provides some implementations of the ActionFilterAttribute class.
So I have to port this class library as well. When I tried to add the nuget package Microsoft.AspNetCore.All to the class library I recived this error:
Package Microsoft.AspNetCore.All 2.0.0 is not compatible with netstandard2.0
When I change the target framework to netcoreapp2.0, I'm able to install the package, but of course I need an entry point for this target type.
How can I create a netcore class library which can use the Microsoft.AspNetCore.All package
Greetings
NET Core vs ASP.NET Core. . NET Core is a runtime to execute applications build on it. ASP.NET Core is a web framework to build web apps, IoT apps, and mobile backends on the top of .
2 Answers. According to this document, . NET 6 supports . NET Standard 2.1.
Because . NET Core 2.0 implements . NET Standard 2.0, it also has the compatibility mode for referencing . NET Framework libraries.
NET Standard 2.0 at all. So you can take a . NET Standard 2.0 library and reference it in . NET 6, and that'll work fine.
You can't (well technically you could via NuGet Fallback, but you shouldn't as it may affect your portability) and you shouldn't.
The .All
package is a convenience meta-package, so you don't need to reference a dozen or other assemblies for even the simplest ASP.NET Core Project.
It's targeting .NET Core for a reason, so you can't use it in .NET Standard.
When you publish your application, the unused packages will be stripped off. When doing a class library you don't want dependency on everything but only the packages which are required by your project.
The metapackage Microsoft.AspNetCore.All
is only available for .NETCoreApp. This is by design since its explictly targeted as a convenience package for web applications running on .NET Core. In order to work its magic at publishing time (stripping of unused dependencies), it requires the .NET Core runtime store which is only available for .NET Core itself.
All other projects, including library projects running on .NET Standard but also including all projects that run on the full .NET Framework, should use individual package references instead.
So instead of referencing Microsoft.AspNetCore.All
, you would be referencing e.g. Microsoft.AspNetCore
, or Microsoft.AspNetCore.Mvc
to get your ActionFilterAttribute
.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With