本文共 1068 字,大约阅读时间需要 3 分钟。
Core项目使用名为的综合包。该包也可以称为“ Core 共享框架”,其背后的基本思想是,包括一个典型的应用程序所需要的所有东西。但是,如果看看该包的依赖项,对“需要”的定义看起来相当宽松。
目前,Microsoft.AspNetCore.App拥有150个明确列出的依赖项,7个月前则是144项。其中有9个不同的认证提供程序包。
Cookies
JwtBearer
Microsoft Account
OAuth
OpenIdConnect
WsFederation
还可以发现8个用于支持实体框架核心(Entity Framework Core)的包,其拥有SQL Server、SQL Server缓存库、用于诊断的EF核心包、用于标识的EF核心包等等。
从这150个依赖项列表中, Core 3.0的共享框架中删去,因为它们违反了新的:
(1) 依赖我们无法提供服务的第三方代码
(2) 组件本身在3.0中被弃用
(3) 它们实施的协议或身份验证机制极易发生变化(比如,脸书/谷歌/推特转天就可以决定改变授权的工作方式)
Core项目的高级软件工程师Nate McMaster接着说:
我们在2.0中添加了太多东西,我们正在重新调整以适应我们认为在可预见的道路上可维护的一套东西。大多数从Microsoft.AspNetCore.App中删除的组件仍将作为NuGet包提供给大家。如果我们将来发现90%的客户都引用同样的包,那么该包将成为共享框架一个很好的候选项。但是,正如在指导文档中所提到的,API的使用量是一个重要指标,但不是我们唯一考虑的因素。
对目前的项目有什么影响?
Core 3.0,再使用的话应用程序将会崩溃。但是,要修复也很简单,只需要把被排除的包手动添加到你的工程中即可,就像添加任何其他Nuget样式的依赖项一样。
我实际需要什么包?
这个问题的答案取决于你的应用程序实际执行的操作。但是,如果我们只考虑一个简单的REST服务器,那么只需要直接引用这三个包:
Microsoft.AspNetCore
Microsoft.AspNetCore.Mvc
Microsoft.AspNetCore.HttpsPolicy
其中的第一个是Microsoft.AspNetCore,它有18个直接依赖项。Mvc添加了自己的13个依赖项,HttpsPolicy添加了另外5个。这个数字不包括重叠或间接的依赖项,但是,仍然反映了一组更小更易管理的依赖项。
阅读英文原文:
转载地址:http://qwmix.baihongyu.com/