框架
C#程序运行于.net框架上面,以下是.net的框架
.NETFramework框架
基于该框架的程序在安装有.NET Framework的系统上可以运行(目前只有Window系统支持.NET Framework吧),该框架不需要我们安装任何Nuget包,当我们需要调用该框架的Api时,直接添加对应库的引用即可
.NetCoreApp
基于该框架的程序在安装有.NETCore的系统上可以运行(Linux,Windows,OS都有对应的.NETCore,所以基于.NETCore的程序是跨平台的)
使用该框架的Api需要安装包Microsoft.NETCore.App,该包提供了调用NetCoreApp框架的接口
.NETStandard
.NETStandard称为标准框架,基于该框架的程序在安装有.NETCore或.NET Framework的系统上都可以运行
使用该框架需要安装包NETStandard.Library,该包提供了框架所有的Api
包
一个包可以运行在一组框架上面,如下:
Microsoft.Extensions.Logging可运行于 .NETCoreApp 3.0 或 .NETStandard 2.0 上
红色框指的是,当运行与 .NETCoreApp 3.0 上时,Microsoft.Extensions.Logging所依赖的包列表,其后的(>=3.0.1)指明所依赖包的具体版本
当我们安装Microsoft.Extensions.Logging这个包时,会自动安装Microsoft.Extensions.Logging所依赖的包的最低版本(即上面的3.0.1版本)
如果我们试图安装Microsoft.Extensions.Configuration.Binder 2.0时,会显示包降级错误,因为Microsoft.Extensions.Logging所依赖的Microsoft.Extensions.Configuration.Binder的最低版本是3.0.1