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中它的需求在似乎變得寬松了。
當前版本的Microsoft.AspNetCore.App明確列出了150個依賴項,而7個月前的版本只需要144個。在這些包中,你能發現九種認證相關的包,他們分別是
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標識包等等。
在這150項依賴中,31項將被從ASP.NET Core3.0的Shared Framework中移除出去,由于它們不符合如下的新的入選標準。
(1)? 依賴了Shared Framework無法提供服務的第三方代碼
(2)? 程序集本身被Shared Framework所拋棄
(3)? 他們實現的協議或身份認證機制十分容易發生變化(比如Facebook/Google/Twitter可能能回在明天改變它們身份認證的方式)
ASP.NET Core項目的高級工程師Nate McMaster說:“我們在2.0版本中加入了太多東西,我們正在重新調整,我們的目標是在可以預見的的時間內,這些組件是可以維護的。許多從Microsoft.AspNetCore.App中移除的程序集將以NuGet?包來提供。如果我們發現90%的人引用了相同的包,那么這個包將有可能被納入到Shared Framework中。然而,正如在指導文件中指出的那樣,API的使用量雖然是一項重要指標,但并不是我們考慮的唯一因素。“。
這將對現有項目有何影響?
如果你決定升級到ASP.NET Core3.0,并且在你的項目中引用了被Shared Framework排除的包,那么你的應用將會崩潰。但是別擔心,解決這個問題只需要像使用其他NuGet?包一樣手動添加這些包到你的項目中。
項目中需要哪些包呢?
這個問題問題的答案取決于你的項目類型。如果你的項目是一個REST服務,你只需要引用下面三個包
在Microsoft.AspNetCore中有18個直接的依賴項,Mvc中添加了13個依賴項,HttpsPolicy添加了5個。這些數字雖然不包括重復或者間接依賴,它卻反映了Shared Framework擁有更少的依賴,我們的依賴管理將變得更加簡單。
原文地址:https://www.cnblogs.com/SuperChan/p/10259155.html
.NET社區新聞,深度好文,歡迎訪問公眾號文章匯總 http://www.csharpkit.com
總結
以上是生活随笔為你收集整理的ASP.NET Core 3.0:将会拥有更少的依赖的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: asp.net core2.2 多用户验
- 下一篇: 微软上线Try .NET,支持在浏览器运