什么是Microsoft.Extensions

.NET Platform Extensions是一套.Net官方的API集合,提供了一些常用的编程模式和实用工具,例如依赖项注入、日志记录、缓存、Host以及配置等等。

https://docs.microsoft.com/en-us/dotnet/api/?view=dotnet-plat-ext-6.0

https://github.com/aspnet/Announcements/issues/411

.NET Platform Extensions代码已经从之前单独维护的https://github.com/dotnet/extensions转移到了https://github.com/dotnet/runtimehttps://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.Extensions.DiagnosticAdapter >= .NET Core 2.0;
>= .NET Standard 2.0;
>= .NET Framework 4.6.1;
Microsoft.Extensions.Configuration.NewtonsoftJson >= .NET Standard 2.0;
Microsoft.Extensions.Configuration.FileProviderExtensions >= .NET Framework 4.5.1;
Mono.WebAssembly.Interop >= .NET Standard 2.1;
Microsoft.Extensions.PlatformAbstractions >= .NET Standard 1.3;
>= .NET Framework 4.5.1;
Microsoft.Extensions.CommandLineUtils >= .NET Standard 1.3;
>= .NET Framework 4.5.1;
Microsoft.Extensions.Globalization.CultureInfoCache >= .NET Standard 1.1;
Microsoft.Extensions.SecretManager.Tools
Microsoft.Extensions.Logging.Filter >= .NET Standard 1.1;
Microsoft.Extensions.WebEncoders.Core >= .NET Framework 4.5.1;
Microsoft.Extensions.MemoryPool >= .NET Framework 4.5.1;
Microsoft.Extensions.Caching.SqlConfig.Tools
Microsoft.Extensions.CodeGenerators.Mvc
Microsoft.Extensions.CodeGeneration
Microsoft.Extensions.CodeGeneration.Templating
Microsoft.Extensions.CodeGeneration.Core
Microsoft.Extensions.CodeGeneration.EntityFramework
Microsoft.NETCore.Platforms >= .NET Standard 1.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)的更多相关文章

  1. 转: 跨终端Web之Hybrid App

    转:  http://www.infoq.com/cn/articles/hybrid-app 编者按:InfoQ开设新栏目“品味书香”,精选技术书籍的精彩章节,以及分享看完书留下的思考和收获,欢迎大 ...

  2. 跨终端Web之Hybrid App

    Native App(以下简称Native)和Mobile Web(以下简称Web)二者混合开发的产物被称为Hybrid App(以下简称Hybrid).Hybrid并不是什么新概念,最早可以追溯到S ...

  3. 单纯觉得是篇好文——跨终端Web之Hybrid App

    [reference]http://www.infoq.com/cn/articles/hybrid-app#theCommentsSection 编者按:InfoQ开设新栏目“品味书香”,精选技术书 ...

  4. 跨终端 Web

    跨终端 Web(移动优先|响应式|HTML5|Hybrid|桌面+移动应用|一线前端负责人联袂推荐) 徐凯  著   ISBN 978-7-121-23345-6 2014年6月出版 定价:55.00 ...

  5. 跨终端Web

    1.终端vs设备 H5页面运行在同一设备的不同终端下. (1)Web浏览器. (2)微信.QQ浏览器. (3)移动App的Webview. (4)TV机顶盒. 2.跨终端的实现方式 (1)响应式 存在 ...

  6. 【开源】C#跨平台物联网通讯框架ServerSuperIO(SSIO)

    [连载]<C#通讯(串口和网络)框架的设计与实现>-1.通讯框架介绍 [连载]<C#通讯(串口和网络)框架的设计与实现>-2.框架的总体设计 目       录 C#跨平台物联 ...

  7. [更新]跨平台物联网通讯框架 ServerSuperIO v1.2(SSIO),增加数据分发控制模式

    1.[开源]C#跨平台物联网通讯框架ServerSuperIO(SSIO) 2.应用SuperIO(SIO)和开源跨平台物联网框架ServerSuperIO(SSIO)构建系统的整体方案 3.C#工业 ...

  8. 介绍一个非常好用的跨平台C++开源框架:openFrameworks

    介绍一个非常好用的跨平台C++开源框架:openFrameworks 简介 首先需要说明的一点是: openFrameworks 设计的初衷不是为计算机专业人士准备的, 而是为艺术专业人士准备的, 就 ...

  9. 《跨终端Web》读书笔记

    跨终端的Web成为了趋势,而这本书就是讲了在这种趋势下进行开发的常见问题及其解决方案,可能是限于篇幅,每个方面都没有展开细说,但这是这样让本书干货满满,几乎没有一句废话. 下面是一些笔记. Web的本 ...

随机推荐

  1. Java随谈(六)## 我们真的理解 Java 里的整型吗?

    我们真的理解 Java 里的整型吗 整型是我们日常生活中最常用到的基础数据类型,看这篇文章之前,我想问: 我们真的像自己认为的那么理解 Java 内的整型吗? 也许看完本篇文章你就有自己的答案. C ...

  2. VTK 截图

    vtk的vtkRenderWindowInteractor中的Initialize函数初始化了可交互的窗口,但是实际工程中,往往需要把窗口拿出来在别的页面上显示,如存为png图片等等.本文主要介绍如何 ...

  3. Ubuntu Linux处理Waiting for cache lock: Could not get lock /var/lib/dpkg/lock-frontend. It is held by process 3365 (unattended-upgr)问题

    问题 在Ubuntu中,执行apt install后,出现以下问题: Waiting for cache lock: Could not get lock /var/lib/dpkg/lock-fro ...

  4. Centos 创建新的虚拟环境

    1. conda env list 查看目前已经存在的虚拟环境,注意新取的虚拟环境的名字不能和目前已存在的虚拟环境的名字相同! 2. conda create -n [环境名] [指定python版本 ...

  5. 打字练习-编程语言关键字系列-java

    小编整理的java关键字,内容如下:abstract, assert, boolean, break, byte, case, catch, char, class, const, continue, ...

  6. 关于Vue在面试中常常被提到的几点(持续更新……)

    1.Vue项目中为什么要在列表组件中写key,作用是什么? 我们在业务组件中,会经常使用循环列表,当时用v-for命令时,会在后面写上:key,那么为什么建议写呢? key的作用是更新组件时判断两个节 ...

  7. ShardingSphere-proxy-5.0.0容量范围分片的实现(五)

    一.修改配置文件config-sharding.yaml,并重启服务 # # Licensed to the Apache Software Foundation (ASF) under one or ...

  8. WPF 视频硬解码渲染播放(无空域)(支持4K、8K、高帧率视频)

    MediaWPF 基于 .NET 6 实现视频硬解码渲染Demo(无空域问题) 代码实现仅供学习参考 本项目视频渲染通过显卡进行视频解码,CPU几乎不参与工作,并且不存在令人烦躁的空域问题. 在播放摄 ...

  9. Work Center View * cannot be used for report assignment. Please deselect错误解决方法

    by zyi

  10. NC17857 起床困难综合症

    NC17857 起床困难综合症 题目 题目描述 21 世纪,许多人得了一种奇怪的病:起床困难综合症,其临床表现为:起床难,起床后精神不佳.作为一名青春阳光好少年,atm 一直坚持与起床困难综合症作斗争 ...