Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

README for extensions libraries #77413

Merged
merged 2 commits into from
Oct 25, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 13 additions & 0 deletions src/libraries/Microsoft.Extensions.Caching.Abstractions/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# Microsoft.Extensions.Caching

Caching is combined with a core caching abstraction under `Microsoft.Extensions.Caching.Abstractions` that allows for implementing general purpose memory and distributed caches, with integration for Redis and SqlServer.

Documentation can be found at https://learn.microsoft.com/en-us/dotnet/core/extensions/caching.

## Contribution Bar
- [x] [We consider new features, new APIs, bug fixes, and performance changes](../../libraries/README.md#primary-bar)

The APIs and functionality need more investment in the upcoming .NET releases.

## Deployment
[Microsoft.Extensions.Caching.Abstractions](https://www.nuget.org/packages/Microsoft.Extensions.Caching.Abstractions) is not included in the shared framework. The package is deployed as out-of-band (OOB) and needs to be installed into projects directly.
13 changes: 13 additions & 0 deletions src/libraries/Microsoft.Extensions.Configuration/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# Microsoft.Extensions.Configuration

`Microsoft.Extensions.Configuration` is combined with a core configuration abstraction under `Microsoft.Extensions.Configuration.Abstractions` that allows for building different kinds of configuration providers to retrieve key/value pair configuration values from in the form of `IConfiguration`. There are a number of built-in configuration provider implementations to read from environment variables, in-memory collections, JSON, INI or XML files. Aside from the built-in variations, there are more shipped libraries shipped by community for integration with various configuration service and other data sources.

Documentation can be found at https://learn.microsoft.com/en-us/dotnet/core/extensions/configuration.

## Contribution Bar
- [x] [We consider new features, new APIs, bug fixes, and performance changes](../../libraries/README.md#primary-bar)

The APIs and functionality are mature, but do get extended occasionally.

## Deployment
[Microsoft.Extensions.Configuration](https://www.nuget.org/packages/Microsoft.Extensions.Configuration) is not included in the shared framework. The package is deployed as out-of-band (OOB) and needs to be installed into projects directly.
17 changes: 13 additions & 4 deletions src/libraries/Microsoft.Extensions.DependencyInjection/README.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,18 @@
DependencyInjection
===================
# Microsoft.Extensions.DependencyInjection

Contains common DI abstractions that ASP.NET Core and Entity Framework Core use.
`Microsoft.Extensions.DependencyInjection` is combined with a core DI abstraction under `Microsoft.Extensions.DependencyInjection.Abstractions` that allows for building different kinds of dependency injection containers to retrieve services from that have been registered with different lifetimes.

### Using other containers with Microsoft.Extensions.DependencyInjection
Documentation can be found at https://learn.microsoft.com/en-us/dotnet/core/extensions/dependency-injection.

## Contribution Bar
- [x] [We consider new features, new APIs, bug fixes, and performance changes](../../libraries/README.md#primary-bar)

The APIs and functionality are mature, but do get extended occasionally.

## Deployment
[Microsoft.Extensions.DependencyInjection](https://www.nuget.org/packages/Microsoft.Extensions.DependencyInjection) is not included in the shared framework. The package is deployed as out-of-band (OOB) and needs to be installed into projects directly.

## Using other containers with Microsoft.Extensions.DependencyInjection

* [**Autofac**](https://autofac.readthedocs.org/en/latest/integration/aspnetcore.html)
* [**DryIoc**](https://www.nuget.org/packages/DryIoc.Microsoft.DependencyInjection)
Expand Down
22 changes: 22 additions & 0 deletions src/libraries/Microsoft.Extensions.Hosting/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# Microsoft.Extensions.Hosting

`Microsoft.Extensions.Hosting` is combined with a core hosting abstraction under `Microsoft.Extensions.Hosting.Abstractions` that provides the pattern for using the extensions libraries to host user code in an application. Hosting helps configure Logging, Configuration, DI, and to wire up specific application models like ASP.NET Core that are built on top of hosting.

Hosting provides as a primitive the concept of a hosted service, which is how application models like ASP.NET Core integrate with the host. Users often write hosted services as to handle their own application concerns.

Hosting provides good integration for long-running console applications, windows services, ASP.NET Core.

Documentation can be found at https://learn.microsoft.com/en-us/dotnet/api/microsoft.extensions.hosting.

## Contribution Bar
- [x] [We consider new features, new APIs, bug fixes, and performance changes](../../libraries/README.md#primary-bar)

The APIs and functionality are mature and there is no active plan for investment but we are open to explore ideas to invest in it in more depth in the future. The ideal future investments here may be to:

- Support all .NET Core application models like: WinForms, WPF, UWP, Xamarin, Short-running (batch) console jobs, Blazor (client)
- Support for idle/pause in hosted services.
- Support more base-classes for hosted services like timer-based and trigger-based

## Deployment
[Microsoft.Extensions.Hosting](https://www.nuget.org/packages/Microsoft.Extensions.Hosting) is not included in the shared framework. The package is deployed as out-of-band (OOB) and needs to be installed into projects directly.

14 changes: 14 additions & 0 deletions src/libraries/Microsoft.Extensions.Logging/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# Microsoft.Extensions.Logging

`Microsoft.Extensions.Logging` is combined with a core logging abstraction under `Microsoft.Extensions.Logging.Abstractions`. This abstraction is available in our basic built-in implementations like console, event log, and debug (Debug.WriteLine). Also note, there is no dedicated built-in solution for file-based logging.

Documentation can be found at https://learn.microsoft.com/en-us/dotnet/core/extensions/logging.

## Contribution Bar
- [x] [We consider new features, new APIs, bug fixes, and performance changes](../../libraries/README.md#primary-bar)
- [x] [We consider PRs that target this library for improvements to the logging source generator](../../libraries/README.md#secondary-bars)

The APIs and functionality are mature, but do get extended occasionally.

## Deployment
[Microsoft.Extensions.Logging](https://www.nuget.org/packages/Microsoft.Extensions.Logging) is not included in the shared framework. The package is deployed as out-of-band (OOB) and needs to be installed into projects directly.
13 changes: 13 additions & 0 deletions src/libraries/Microsoft.Extensions.Options/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# Microsoft.Extensions.Options

`Microsoft.Extensions.Options` acts as a bridge between configuration, DI, and a higher level libraries. This library is the glue for how an app developer uses DI to configure the behavior of a library like HttpClient Factory. This also enables user to get a strongly-typed view of their configuration.

Documentation can be found at https://learn.microsoft.com/en-us/dotnet/core/extensions/options.

## Contribution Bar
- [x] [We consider new features, new APIs, bug fixes, and performance changes](../../libraries/README.md#primary-bar)

Although the types are mature, the code base continues to evolve for better performance.

## Deployment
[Microsoft.Extensions.Options](https://www.nuget.org/packages/Microsoft.Extensions.Options) is not included in the shared framework. The package is deployed as out-of-band (OOB) and needs to be installed into projects directly.