Fill template for Microsoft.Extensions.Configuration & Abstractions
authorEric StJohn <ericstj@microsoft.com>
Sat, 16 Sep 2023 19:20:41 +0000 (12:20 -0700)
committerViktor Hofer <viktor.hofer@microsoft.com>
Mon, 18 Sep 2023 14:24:51 +0000 (16:24 +0200)
src/libraries/Microsoft.Extensions.Configuration.Abstractions/src/PACKAGE.md
src/libraries/Microsoft.Extensions.Configuration/src/PACKAGE.md

index fb051d6..bf951fc 100644 (file)
@@ -4,13 +4,15 @@
 
 Provides abstractions of key-value pair based configuration. Interfaces defined in this package are implemented by classes in [Microsoft.Extensions.Configuration](https://www.nuget.org/packages/Microsoft.Extensions.Configuration/) and other configuration packages.
 
+
 ## Key Features
 
 <!-- The key features of this package -->
 
-*
-*
-*
+* Abstractions for string key-value pair configuration sources and sections
+* Path conventions of keys establishing a heirachy of values
+* Support for multiple configuration sources, aggregating and defining precdence for values
+* Support for reload on change
 
 ## How to Use
 
@@ -42,17 +44,18 @@ var options = config.Get<MyClass>();
 Console.WriteLine(options.NamedProperty); // returns "value for named property"
 ```
 
+
 ## Main Types
 
 <!-- The main types provided in this library -->
 
 The main types provided by this library are:
 
-* [`Microsoft.Extensions.Configuration.IConfiguration`](https://learn.microsoft.com/dotnet/api/microsoft.extensions.configuration.iconfiguration)
-* [`Microsoft.Extensions.Configuration.IConfigurationBuilder`](https://learn.microsoft.com/dotnet/api/microsoft.extensions.configuration.iconfigurationbuilder)
-* [`Microsoft.Extensions.Configuration.IConfigurationProvider`](https://learn.microsoft.com/dotnet/api/microsoft.extensions.configuration.iconfigurationprovider)
-* [`Microsoft.Extensions.Configuration.IConfigurationRoot`](https://learn.microsoft.com/dotnet/api/microsoft.extensions.configuration.iconfigurationroot)
-* [`Microsoft.Extensions.Configuration.IConfigurationSection`](https://learn.microsoft.com/dotnet/api/microsoft.extensions.configuration.iconfigurationsection)
+* `Microsoft.Extensions.Configuration.IConfiguration`
+* `Microsoft.Extensions.Configuration.IConfigurationBuilder`
+* `Microsoft.Extensions.Configuration.IConfigurationProvider`
+* `Microsoft.Extensions.Configuration.IConfigurationRoot`
+* `Microsoft.Extensions.Configuration.IConfigurationSection`
 
 ## Additional Documentation
 
@@ -64,9 +67,18 @@ The main types provided by this library are:
 ## Related Packages
 
 <!-- The related packages associated with this package -->
+* [Microsoft.Extensions.Configuration](https://www.nuget.org/packages/Microsoft.Extensions.Configuration)
+* [Microsoft.Extensions.Configuration.Binder](https://www.nuget.org/packages/Microsoft.Extensions.Configuration.Binder)
+* [Microsoft.Extensions.Configuration.CommandLine](https://www.nuget.org/packages/Microsoft.Extensions.Configuration.CommandLine)
+* [Microsoft.Extensions.Configuration.EnvironmentVariables](https://www.nuget.org/packages/Microsoft.Extensions.Configuration.EnvironmentVariables)
+* [Microsoft.Extensions.Configuration.FileExtensions](https://www.nuget.org/packages/Microsoft.Extensions.Configuration.FileExtensions)
+* [Microsoft.Extensions.Configuration.Ini](https://www.nuget.org/packages/Microsoft.Extensions.Configuration.Ini)
+* [Microsoft.Extensions.Configuration.Json](https://www.nuget.org/packages/Microsoft.Extensions.Configuration.Json)
+* [Microsoft.Extensions.Configuration.UserSecrets](https://www.nuget.org/packages/Microsoft.Extensions.Configuration.UserSecrets)
+* [Microsoft.Extensions.Configuration.Xml](https://www.nuget.org/packages/Microsoft.Extensions.Configuration.Xml)
 
 ## Feedback & Contributing
 
 <!-- How to provide feedback on this package and contribute to it -->
 
-Microsoft.Extensions.Configuration.Abstractions is released as open source under the [MIT license](https://licenses.nuget.org/MIT). Bug reports and contributions are welcome at [the GitHub repository](https://github.com/dotnet/runtime).
\ No newline at end of file
+Microsoft.Extensions.Caching.Abstractions is released as open source under the [MIT license](https://licenses.nuget.org/MIT). Bug reports and contributions are welcome at [the GitHub repository](https://github.com/dotnet/runtime).
index 13f0969..b9f3878 100644 (file)
@@ -8,13 +8,41 @@
 
 <!-- The key features of this package -->
 
-*
-*
-*
+* In-memory configuration provider
+* Chained configuration provider for chaining multiple confiugration providers together.
+* Base types that implement configuration abstraction interfaces that can be used when implementing other configuration providers.
 
 ## How to Use
 
 <!-- A compelling example on how to use this package with code, as well as any specific guidelines for when to use the package -->
+```C#
+using Microsoft.Extensions.Configuration;
+
+var configurationBuilder = new ConfigurationBuilder();
+
+configurationBuilder.AddInMemoryCollection(
+    new Dictionary<string, string?>
+    {
+        ["Setting1"] = "value",
+        ["MyOptions:Enabled"] = bool.TrueString,
+    });
+
+configurationBuilder.AddInMemoryCollection(
+    new Dictionary<string, string?>
+    {
+        ["Setting2"] = "value2",
+        ["MyOptions:Enabled"] = bool.FalseString,
+    });
+
+var config = configurationBuilder.Build();
+
+// note case-insensitive
+Console.WriteLine(config["setting1"]);
+Console.WriteLine(config["setting2"]);
+
+// note last in wins
+Console.WriteLine(config["MyOptions:Enabled"]);
+```
 
 ## Main Types
 
 
 The main types provided by this library are:
 
-* ``
-* ``
-* ``
+* `Microsoft.Extensions.Configuration.ConfigurationBuilder`
+* `Microsoft.Extensions.Configuration.ConfigurationManager`
+* `Microsoft.Extensions.Configuration.ConfigurationRoot`
+* `Microsoft.Extensions.Configuration.ConfigurationSection`
 
 ## Additional Documentation
 
@@ -36,9 +65,18 @@ The main types provided by this library are:
 ## Related Packages
 
 <!-- The related packages associated with this package -->
+* [Microsoft.Extensions.Configuration.Binder](https://www.nuget.org/packages/Microsoft.Extensions.Configuration.Binder)
+* [Microsoft.Extensions.Configuration.CommandLine](https://www.nuget.org/packages/Microsoft.Extensions.Configuration.CommandLine)
+* [Microsoft.Extensions.Configuration.EnvironmentVariables](https://www.nuget.org/packages/Microsoft.Extensions.Configuration.EnvironmentVariables)
+* [Microsoft.Extensions.Configuration.FileExtensions](https://www.nuget.org/packages/Microsoft.Extensions.Configuration.FileExtensions)
+* [Microsoft.Extensions.Configuration.Ini](https://www.nuget.org/packages/Microsoft.Extensions.Configuration.Ini)
+* [Microsoft.Extensions.Configuration.Json](https://www.nuget.org/packages/Microsoft.Extensions.Configuration.Json)
+* [Microsoft.Extensions.Configuration.UserSecrets](https://www.nuget.org/packages/Microsoft.Extensions.Configuration.UserSecrets)
+* [Microsoft.Extensions.Configuration.Xml](https://www.nuget.org/packages/Microsoft.Extensions.Configuration.Xml)
+
 
 ## Feedback & Contributing
 
 <!-- How to provide feedback on this package and contribute to it -->
 
-Microsoft.Extensions.Configuration is released as open source under the [MIT license](https://licenses.nuget.org/MIT). Bug reports and contributions are welcome at [the GitHub repository](https://github.com/dotnet/runtime).
\ No newline at end of file
+Microsoft.Extensions.Configuration is released as open source under the [MIT license](https://licenses.nuget.org/MIT). Bug reports and contributions are welcome at [the GitHub repository](https://github.com/dotnet/runtime).