本文为翻译文章,原文:Packages, Metapackages and Frameworks
.NET Core是一个由NuGet包组成的平台。一些产品受益于细粒度包的定义,也有一些受益于粗粒度包的定义。为了适应这种二重性,.NET Core平台被分为一组细粒度的包(package)以及一些被称为元包(metapackage)的较粗粒度的包。
每一个.NET Core包支持多个.NET运行时,它们代表着不同的框架。这些框架既包括传统的.NET Framework(如net4.6),也包含基于包的新框架,这些新框架建立了定义框架的新模型。这些基于包的框架完全由包定义而成,包与框架之间形成较强的关联关系。
包
.NET Core由一组包构成,这些包提供了基元类型、高级数据类型、应用程序组成类型和一些常见的实用工具。每一个包表示一个和包同名的程序集,如, System.Runtime包中含有System.Runtime.dll程序集。
定义细粒度的包有如下好处:
细粒度的包在开发、测试过程中与其它包的关联有限
细粒度的包可以提供对不同操作系统和CPU的支持
细粒度的包可以只依赖某个特定的库
在发布应用时,未被引用的包不会成为应用的一部分,因此应用程序会有更小的体积
有些细粒度包的优点只会在特定场景中表现出来。如,通常.NET Core 的所有包会在同一计划内提供对同一平台的支持。这种情况下,补丁会以小的单个更新包的形式发布和安装。由于这种小范围的变化,验证补丁是否可用所花费的时间,可以限制到对单个库的需求中。
下面列出了.NET Core平台上的一些关键NuGet包:
System.Runtime - 这是最基本的.NET Core包,包括
网友评论