1. 程式人生 > 其它 >.NET Platform Extensions是一套.Net官方的API集合

.NET Platform Extensions是一套.Net官方的API集合

.NET Platform Extensions是一套.Net官方的API集合

什麼是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;

參考