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

相關文章
相關標籤/搜索