乘风破浪,遇见最佳跨平台跨终端框架.Net Core/.Net生态 - 官方扩展集锦(Microsoft.Extensions on Nuget)
什么是Microsoft.Extensions
.NET Platform Extensions是一套.Net官方的API集合,提供了一些常用的编程模式和实用工具,例如依赖项注入、日志记录、缓存、Host以及配置等等。
https://docs.microsoft.com/en-us/dotnet/api/?view=dotnet-plat-ext-6.0

.NET Platform Extensions代码已经从之前单独维护的https://github.com/dotnet/extensions转移到了https://github.com/dotnet/runtime和https://github.com/dotnet/aspnetcore中统一管理。

Microsoft.Extensions Nuget包
这些都是官方轮子,但是也是平时我们的使用首选。
Caching组
| 名称 | 备注 |
|---|---|
| Microsoft.Extensions.Caching.Memory | >= .NET 5.0; >= .NET Core App 2.0; >= .NET Standard 2.0; >= .NET Framework 4.6.1; |
| Microsoft.Extensions.Caching.Abstractions | >= .NET 5.0; >= .NET Core App 2.0; >= .NET Standard 2.0; >= .NET Framework 4.6.1; |
| Microsoft.Extensions.Caching.SqlServer | >= .NET 7.0; >= .NET Core App 2.0; >= .NET Standard 2.0; >= .NET Framework 4.6.2; |
| Microsoft.Extensions.Caching.StackExchangeRedis | >= .NET 7.0; >= .NET Core App 2.0; >= .NET Standard 2.0; >= .NET Framework 4.6.2; |
| Microsoft.Extensions.Caching.Redis | >= .NET Standard 2.0; |
| Microsoft.Extensions.Caching.Cosmos | >= .NET Standard 2.0; |
Configuration组
| 名称 | 备注 |
|---|---|
| Microsoft.Extensions.Configuration | >= .NET 6.0; >= .NET Standard 2.0; >= .NET Framework 4.6.2; |
| Microsoft.Extensions.Configuration.Abstractions | >= .NET 6.0; >= .NET Standard 2.0; >= .NET Framework 4.6.2; |
| Microsoft.Extensions.Configuration.Binder | >= .NET 6.0; >= .NET Standard 2.0; >= .NET Framework 4.6.2; |
| Microsoft.Extensions.Configuration.CommandLine | >= .NET 6.0; >= .NET Standard 2.0; >= .NET Framework 4.6.2; |
| Microsoft.Extensions.Configuration.EnvironmentVariables | >= .NET 6.0; >= .NET Standard 2.0; >= .NET Framework 4.6.2 |
| Microsoft.Extensions.Configuration.FileExtensions | >= .NET 6.0; >= .NET Standard 2.0; >= .NET Framework 4.6.2; |
| Microsoft.Extensions.Configuration.Ini | >= .NET 6.0; >= .NET Standard 2.0; >= .NET Framework 4.6.2; |
| Microsoft.Extensions.Configuration.Json | >= .NET 6.0; >= .NET Standard 2.0; >= .NET Framework 4.6.2; |
| Microsoft.Extensions.Configuration.Xml | >= .NET 6.0; >= .NET Standard 2.0; >= .NET Framework 4.6.2; |
| Microsoft.Extensions.Configuration.UserSecrets | >= .NET 6.0; >= .NET Standard 2.0; >= .NET Framework 4.6.2; |
| Microsoft.Extensions.Configuration.KeyPerFile | >= .NET 7.0; >= .NET Standard 2.0; >= .NET Framework 4.6.2; |
| Microsoft.Extensions.Configuration.AzureAppConfiguration | >= .NET Standard 2.0; |
Dependency Injection组
| 名称 | 备注 |
|---|---|
| Microsoft.Extensions.DependencyInjection | >= .NET 6.0; >= .NET Standard 2.0; >= .NET Framework 4.6.2; |
| Microsoft.Extensions.DependencyInjection.Abstractions | >= .NET 6.0; >= .NET Standard 2.0; >= .NET Framework 4.6.2; |
| Microsoft.Extensions.DependencyInjection.Specification.Tests | >= .NET 6.0; >= .NET Standard 2.0; >= .NET Framework 4.6.2; |
Dependency Model组
| 名称 | 备注 |
|---|---|
| Microsoft.Extensions.DependencyModel | >= .NET 6.0; >= .NET Standard 2.0; >= .NET Framework 4.6.2; |
File Providers组
| 名称 | 备注 |
|---|---|
| Microsoft.Extensions.FileProviders.Abstractions | >= .NET 6.0; >= .NET Standard 2.0; >= .NET Framework 4.6.2; |
| Microsoft.Extensions.FileProviders.Physical | >= .NET 6.0; >= .NET Standard 2.0; >= .NET Framework 4.6.2; |
| Microsoft.Extensions.FileProviders.Composite | >= .NET 6.0; >= .NET Standard 2.0; >= .NET Framework 4.6.2; |
| Microsoft.Extensions.FileProviders.Embedded | >= .NET 7.0; >= .NET Standard 2.0; >= .NET Framework 4.6.2; |
File System Globbing组
| 名称 | 备注 |
|---|---|
| Microsoft.Extensions.FileSystemGlobbing | >= .NET 6.0; >= .NET Standard 2.0; >= .NET Framework 4.6.2; |
Hosting组
| 名称 | 备注 |
|---|---|
| Microsoft.Extensions.Hosting | >= .NET 6.0; >= .NET Standard 2.0; >= .NET Framework 4.6.2; |
| Microsoft.Extensions.Hosting.Abstractions | >= .NET 6.0; >= .NET Standard 2.0; >= .NET Framework 4.6.2; |
| Microsoft.Extensions.Hosting.WindowsServices | >= .NET 6.0; >= .NET Standard 2.0; >= .NET Framework 4.6.2; |
| Microsoft.Extensions.Hosting.Systemd | >= .NET 6.0; >= .NET Standard 2.1; |
Http Client Factory组
| 名称 | 备注 |
|---|---|
| Microsoft.Extensions.Http | >= .NET 6.0; >= .NET Standard 2.0; >= .NET Framework 4.6.2; |
| Microsoft.Extensions.Http.Polly | >= .NET Standard 2.0; |
Logging组
| 名称 | 备注 |
|---|---|
| Microsoft.Extensions.Logging | >= .NET 6.0; >= .NET Standard 2.0; >= .NET Framework 4.6.2; |
| Microsoft.Extensions.Logging.Abstractions | >= .NET 6.0; >= .NET Standard 2.0; >= .NET Framework 4.6.2; |
| Microsoft.Extensions.Logging.Configuration | >= .NET 6.0; >= .NET Standard 2.0; >= .NET Framework 4.6.2; |
| Microsoft.Extensions.Logging.Console | >= .NET 6.0; >= .NET Standard 2.0; >= .NET Framework 4.6.2; |
| Microsoft.Extensions.Logging.Debug | >= .NET 6.0; >= .NET Standard 2.0; >= .NET Framework 4.6.2; |
| Microsoft.Extensions.Logging.EventSource | >= .NET 6.0; >= .NET Standard 2.0; >= .NET Framework 4.6.2; |
| Microsoft.Extensions.Logging.EventLog | >= .NET 6.0; >= .NET Standard 2.0; >= .NET Framework 4.6.2; |
| Microsoft.Extensions.Logging.TraceSource | >= .NET 6.0; >= .NET Standard 2.0; >= .NET Framework 4.6.2; |
| Microsoft.Extensions.Logging.ApplicationInsights | >= .NET Standard 2.0; |
| Microsoft.Extensions.Logging.AzureAppServices | >= .NET 7.0; >= .NET Standard 2.0; >= .NET Framework 4.6.2; |
Options组
| 名称 | 备注 |
|---|---|
| Microsoft.Extensions.Options | >= .NET 6.0; >= .NET Standard 2.0; >= .NET Framework 4.6.2; |
| Microsoft.Extensions.Options.ConfigurationExtensions | >= .NET 6.0; >= .NET Standard 2.0; >= .NET Framework 4.6.2; |
| Microsoft.Extensions.Options.DataAnnotations | >= .NET 6.0; >= .NET Standard 2.0; >= .NET Framework 4.6.2; |
Primitives组
| 名称 | 备注 |
|---|---|
| Microsoft.Extensions.Primitives | >= .NET 6.0; >= .NET Standard 2.0; >= .NET Framework 4.6.2; |
Diagnostics组
| 名称 | 备注 |
|---|---|
| Microsoft.Extensions.Diagnostics.HealthChecks | >= .NET 7.0; >= .NET Standard 2.0; >= .NET Framework 4.6.2; |
| Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions | >= .NET 7.0; >= .NET Standard 2.0; >= .NET Framework 4.6.2; |
| Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore | >= .NET 7.0; |
JSInterop组
| 名称 | 备注 |
|---|---|
| Microsoft.JSInterop | >= .NET 7.0; |
| Microsoft.JSInterop.WebAssembly | >= .NET 7.0; |
Localization组
| 名称 | 备注 |
|---|---|
| Microsoft.Extensions.Localization | >= .NET 7.0; >= .NET Standard 2.0; >= .NET Framework 4.6.2; |
| Microsoft.Extensions.Localization.Abstractions | >= .NET 7.0; >= .NET Standard 2.0; >= .NET Framework 4.6.2; |
Object Pool组
| 名称 | 备注 |
|---|---|
| Microsoft.Extensions.ObjectPool | >= .NET 7.0; >= .NET Standard 2.0; >= .NET Framework 4.6.2; |
WebEncoders组
| 名称 | 备注 |
|---|---|
| Microsoft.Extensions.WebEncoders | >= .NET 7.0; >= .NET Standard 2.0; >= .NET Framework 4.6.2; |
Identity组
| 名称 | 备注 |
|---|---|
| Microsoft.Extensions.Identity.Core | >= .NET 7.0; >= .NET Standard 2.0; >= .NET Framework 4.6.2; |
| Microsoft.Extensions.Identity.Stores | >= .NET 7.0; >= .NET Standard 2.0; >= .NET Framework 4.6.2 |
Azure组
| 名称 | 备注 |
|---|---|
| Microsoft.Extensions.Azure | >= .NET Standard 2.0; |
Features组
| 名称 | 备注 |
|---|---|
| Microsoft.Extensions.Features | >= .NET 7.0; >= .NET Standard 2.0; >= .NET Framework 4.6.2; |
Machine Learning组
| 名称 | 备注 |
|---|---|
| Microsoft.Extensions.ML | >= .NET Standard 2.0; |
过期组
Microsoft.System Nuget包
System组
| 名称 | 备注 |
|---|---|
| System.Threading.Tasks.Extensions | >= .NET Core 2.1; >= .NET Standard 1.0; >= .NET Framework 4.6.1; |
| System.Diagnostics.DiagnosticSource | >= .NET 5.0; >= .NETStandard 2.0; >= .NETFramework 4.6.1; |
| System.Buffers | >= .NET Core 2.0; >= .NET Standard 1.1; >= .NET Framework 4.5; |
| System.Memory | >= .NET Core 2.1; >= .NET Standard 1.1; >= .NET Framework 4.6.1; |
参考
乘风破浪,遇见最佳跨平台跨终端框架.Net Core/.Net生态 - 官方扩展集锦(Microsoft.Extensions on Nuget)的更多相关文章
- 转: 跨终端Web之Hybrid App
转: http://www.infoq.com/cn/articles/hybrid-app 编者按:InfoQ开设新栏目“品味书香”,精选技术书籍的精彩章节,以及分享看完书留下的思考和收获,欢迎大 ...
- 跨终端Web之Hybrid App
Native App(以下简称Native)和Mobile Web(以下简称Web)二者混合开发的产物被称为Hybrid App(以下简称Hybrid).Hybrid并不是什么新概念,最早可以追溯到S ...
- 单纯觉得是篇好文——跨终端Web之Hybrid App
[reference]http://www.infoq.com/cn/articles/hybrid-app#theCommentsSection 编者按:InfoQ开设新栏目“品味书香”,精选技术书 ...
- 跨终端 Web
跨终端 Web(移动优先|响应式|HTML5|Hybrid|桌面+移动应用|一线前端负责人联袂推荐) 徐凯 著 ISBN 978-7-121-23345-6 2014年6月出版 定价:55.00 ...
- 跨终端Web
1.终端vs设备 H5页面运行在同一设备的不同终端下. (1)Web浏览器. (2)微信.QQ浏览器. (3)移动App的Webview. (4)TV机顶盒. 2.跨终端的实现方式 (1)响应式 存在 ...
- 【开源】C#跨平台物联网通讯框架ServerSuperIO(SSIO)
[连载]<C#通讯(串口和网络)框架的设计与实现>-1.通讯框架介绍 [连载]<C#通讯(串口和网络)框架的设计与实现>-2.框架的总体设计 目 录 C#跨平台物联 ...
- [更新]跨平台物联网通讯框架 ServerSuperIO v1.2(SSIO),增加数据分发控制模式
1.[开源]C#跨平台物联网通讯框架ServerSuperIO(SSIO) 2.应用SuperIO(SIO)和开源跨平台物联网框架ServerSuperIO(SSIO)构建系统的整体方案 3.C#工业 ...
- 介绍一个非常好用的跨平台C++开源框架:openFrameworks
介绍一个非常好用的跨平台C++开源框架:openFrameworks 简介 首先需要说明的一点是: openFrameworks 设计的初衷不是为计算机专业人士准备的, 而是为艺术专业人士准备的, 就 ...
- 《跨终端Web》读书笔记
跨终端的Web成为了趋势,而这本书就是讲了在这种趋势下进行开发的常见问题及其解决方案,可能是限于篇幅,每个方面都没有展开细说,但这是这样让本书干货满满,几乎没有一句废话. 下面是一些笔记. Web的本 ...
随机推荐
- DAST 黑盒漏洞扫描器 第二篇:规则篇
0X01 前言 怎么衡量一个扫描器的好坏,扫描覆盖率高.扫描快.扫描过程安全 而最直接的效果就是扫描覆盖率高(扫的全) 怎么扫描全面,1 流量全面 2 规则漏报低 流量方面上篇已经讲过,这篇主要讲扫描 ...
- BI 如何让SaaS产品具有 “安全感”和“敏锐感”(上)
SaaS模式一经推出,凭借自身的高性价比.低维护成本,无需软硬件维护.无需运维等明晃晃的优点,得到了爆发式的增长,甚至全面改变了软件的开发模式.各位老总的问候语,不知从什么时候开始,都变成了:&quo ...
- Nastran的应变方向
问题 近日使用Nastran做一个算例,在计算频响时发现:位移场是连续的,而应变场不连续.以某一频率处应变场为例,其上表面X.Y方向应变场分布如下图.此处关闭了云图的插值,所显示的为单元的应变,因此云 ...
- 【Azure 应用服务】NodeJS Express + MSAL 实现API应用Token认证(AAD OAuth2 idToken)的认证实验 -- passport.authenticate('oauth-bearer', {session: false})
问题描述 在前两篇博文中,对NodeJS Express应用 使用MSAL + AAD实现用户登录并获取用户信息,获取Authorization信息 ( ID Token, Access Token) ...
- kali 漏洞扫描
前言 漏洞扫描器是一种能够自动在计算机.信息系统.网络及应用软件中寻找和发现安全弱点的程序.它通过网络对目录系统进行探测,向目标系统发送数据,并将反馈数据与自带的漏洞特征库进行匹配,进而列举目标系统上 ...
- js 表面学习 - 认识事件
事件 描述 onchange HTML 元素已被改变 onclick 用户点击了 HTML 元素 onmouseover 用户把鼠标移动到 HTML 元素上 onmouseout 用户把鼠标移开 HT ...
- SpringBoot配置多环境下的properties配置文件
1.新建SpringBoot项目之后,再另外创建两个properties文件 2.配置详情 主文件 dev和test文件 两者只是里面的配置信息有所不同而已,比如mysql, redis, nacos ...
- GaussDB(for MySQL) :Partial Result Cache,通过缓存中间结果对算子进行加速
摘要:华为云数据库高级内核技术专家详解GaussDB(for MySQL)Partial Result Cache特性,如何通过缓存中间结果对算子进行加速? 本文分享自华为云社区<GaussDB ...
- Future源码一观-JUC系列
背景介绍 在程序中,主线程启动一个子线程进行异步计算,主线程是不阻塞继续执行的,这点看起来是非常自然的,都已经选择启动子线程去异步执行了,主线程如果是阻塞的话,那还不如主线程自己去执行不就好了.那会不 ...
- Elasticsearch深度应用(上)
索引文档写入和近实时搜索原理 基本概念 Segments in Lucene 众所周知,Elasticsearch存储的基本单元是shard,ES种一个index可能分为多个shard,事实上每个sh ...