本文為翻譯文章,原文:Packages, Metapackages and Frameworks
.NET Core是一個(gè)由NuGet包組成的平臺(tái)。一些產(chǎn)品受益于細(xì)粒度包的定義,也有一些受益于粗粒度包的定義。為了適應(yīng)這種二重性,.NET Core平臺(tái)被分為一組細(xì)粒度的包(package)以及一些被稱為元包(metapackage)的較粗粒度的包。
每一個(gè).NET Core包支持多個(gè).NET運(yùn)行時(shí),它們代表著不同的框架。這些框架既包括傳統(tǒng)的.NET Framework(如net4.6),也包含基于包的新框架,這些新框架建立了定義框架的新模型。這些基于包的框架完全由包定義而成,包與框架之間形成較強(qiáng)的關(guān)聯(lián)關(guān)系。
包
.NET Core由一組包構(gòu)成,這些包提供了基元類型、高級(jí)數(shù)據(jù)類型、應(yīng)用程序組成類型和一些常見的實(shí)用工具。每一個(gè)包表示一個(gè)和包同名的程序集,如, System.Runtime包中含有System.Runtime.dll程序集。
定義細(xì)粒度的包有如下好處:
細(xì)粒度的包在開發(fā)、測試過程中與其它包的關(guān)聯(lián)有限
細(xì)粒度的包可以提供對(duì)不同操作系統(tǒng)和CPU的支持
細(xì)粒度的包可以只依賴某個(gè)特定的庫
在發(fā)布應(yīng)用時(shí),未被引用的包不會(huì)成為應(yīng)用的一部分,因此應(yīng)用程序會(huì)有更小的體積
有些細(xì)粒度包的優(yōu)點(diǎn)只會(huì)在特定場景中表現(xiàn)出來。如,通常.NET Core 的所有包會(huì)在同一計(jì)劃內(nèi)提供對(duì)同一平臺(tái)的支持。這種情況下,補(bǔ)丁會(huì)以小的單個(gè)更新包的形式發(fā)布和安裝。由于這種小范圍的變化,驗(yàn)證補(bǔ)丁是否可用所花費(fèi)的時(shí)間,可以限制到對(duì)單個(gè)庫的需求中。
下面列出了.NET Core平臺(tái)上的一些關(guān)鍵NuGet包:
System.Runtime - 這是最基本的.NET Core包,包括
網(wǎng)友評(píng)論