ASP.NET Core 3.0:将会拥有更少的依赖

在ASP.NET Core项目中,咱们使用一个叫作Microsoft.AspNetCore.App的综合包。它也被称为ASP.NET Core Shared Framework,在ASP.NET Core Shared Framework之中包含了不少依赖项,它能知足通常应用的需求。可是若是你查看它的依赖项,在ASP.NET Core3.0中它的需求在彷佛变得宽松了。html

当前版本的Microsoft.AspNetCore.App明确列出了150个依赖项,而7个月前的版本只须要144个。在这些包中,你能发现九种认证相关的包,他们分别是git

  • Cookies
  • Facebook
  • Google
  • JwtBearer
  • Microsoft Account
  • OAuth
  • OpenIdConnect
  • Twitter
  • WsFederation
  • Microsoft.AspNetCore
  • Microsoft.AspNetCore.Mvc
  • Microsoft.AspNetCore.HttpsPolicy

你还能发现8个关于EFCore With SQL Server的支持包,一个用于SQL Server缓存的类库,一个EFCore诊断包,一个用于EFCore标识包等等。github

在这150项依赖中,31项将被从ASP.NET Core3.0的Shared Framework中移除出去,因为它们不符合以下的新的入选标准缓存

(1)  依赖了Shared Framework没法提供服务的第三方代码spa

(2)  程序集自己被Shared Framework所抛弃翻译

(3)  他们实现的协议或身份认证机制十分容易发生变化(好比Facebook/Google/Twitter可能能回在明天改变它们身份认证的方式)htm

ASP.NET Core项目的高级工程师Nate McMaster说:“咱们在2.0版本中加入了太多东西,咱们正在从新调整,咱们的目标是在能够预见的的时间内,这些组件是能够维护的。许多从Microsoft.AspNetCore.App中移除的程序集将以NuGet 包来提供。若是咱们发现90%的人引用了相同的包,那么这个包将有可能被归入到Shared Framework中。然而,正如在指导文件中指出的那样,API的使用量虽然是一项重要指标,但并非咱们考虑的惟一因素。“。blog

这将对现有项目有何影响?get

若是你决定升级到ASP.NET Core3.0,而且在你的项目中引用了被Shared Framework排除的包,那么你的应用将会崩溃。可是别担忧,解决这个问题只须要像使用其余NuGet 包同样手动添加这些包到你的项目中。it

项目中须要哪些包呢?

这个问题问题的答案取决于你的项目类型。若是你的项目是一个REST服务,你只须要引用下面三个包

在Microsoft.AspNetCore中有18个直接的依赖项,Mvc中添加了13个依赖项,HttpsPolicy添加了5个。这些数字虽然不包括重复或者间接依赖,它却反映了Shared Framework拥有更少的依赖,咱们的依赖管理将变得更加简单。

本为翻译自:ASP.NET Core 3.0 Projects Go on a Diet

 

原文出处:https://www.cnblogs.com/SuperChan/p/10259155.html

相关文章
相关标签/搜索