在netstandard中使用Microsoft.AspNetCore.All包

Ced*_*Ced 11 .net-core asp.net-core .net-standard

目前我正在将一个asp web api移植到.Net Core.

api使用一个Class库,它提供了ActionFilterAttribute类的一些实现.

所以我也必须移植这个类库.当我尝试将nuget包Microsoft.AspNetCore.All添加到类库时,我收到了此错误:

软件包Microsoft.AspNetCore.All 2.0.0与netstandard2.0不兼容

当我将目标框架更改为netcoreapp2.0时,我可以安装该软件包,但当然我需要这个目标类型的入口点.

如何创建可以使用Microsoft.AspNetCore.All包的netcore类库

问候

pok*_*oke 10

元数据包Microsoft.AspNetCore.All仅适用于.NETCoreApp.这是设计的,因为它明确地定位为在.NET Core上运行的Web应用程序的便利包.为了在发布时发挥其魔力(剥离未使用的依赖项),它需要.NET Core运行时存储,该存储仅适用于.NET Core本身.

所有其他项目(包括在.NET Standard上运行的库项目,但也包括在完整.NET Framework上运行的所有项目)都应使用单独的包引用.

因此Microsoft.AspNetCore.All,您可以参考例如Microsoft.AspNetCore,或者Microsoft.AspNetCore.Mvc获取您的信息,而不是参考ActionFilterAttribute.


Tse*_*eng 7

你不能(技术上你可以通过NuGet Fallback,但你不应该因为它可能影响你的可移植性),你不应该.

.All软件包是一个方便的元数据包,因此即使是最简单的ASP.NET核心项目也不需要引用十几个或其他程序集.

它的目标是.NET Core,因此您无法在.NET Standard中使用它.

发布应用程序时,将删除未使用的包.在执行类库时,您不希望依赖于所有内容,只需要依赖项目所需的包.