Phema.Configuration
3.0.0-preview3.0.0
This is a prerelease version of Phema.Configuration.
There is a newer version of this package available.
See the version list below for details.
See the version list below for details.
dotnet add package Phema.Configuration --version 3.0.0-preview3.0.0
NuGet\Install-Package Phema.Configuration -Version 3.0.0-preview3.0.0
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Phema.Configuration" Version="3.0.0-preview3.0.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Phema.Configuration --version 3.0.0-preview3.0.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: Phema.Configuration, 3.0.0-preview3.0.0"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install Phema.Configuration as a Cake Addin #addin nuget:?package=Phema.Configuration&version=3.0.0-preview3.0.0&prerelease // Install Phema.Configuration as a Cake Tool #tool nuget:?package=Phema.Configuration&version=3.0.0-preview3.0.0&prerelease
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
Phema.Configuration
C# strongly typed IConfiguration
wrapper
Usage
[Configuration]
public class RootConfiguration
{
public InnerConfiguration Inner { get; set; }
}
[Configuration]
public class InnerConfiguration
{
}
// Add
WebHost.CreateDefaultBuilder<Startup>()
.UseConfiguration<RootConfiguration>()
.Build();
// Get
var root = provider.GetRequiredService<IOptions<RootConfiguration>>().Value;
var inner = provider.GetRequiredService<IOptions<InnerConfiguration>>().Value;
Assert.Equal(root.Inner, inner);
- Maps
IConfiguration
fromMicrosoft.Extensions.Configuration
to strongly typed configuration - You can add configuration by calling
UseConfiguration<T>
onIWebHostBuilder
- You need to mark all your configuration parts by
ConfigurationAttribute
in this package - You can add
ConfigurationAttribute
to class or property if class is not avaliable to modification - You can override property names using
DataMember
andDataContract
attribute - All configuration parts adds to IServiceCollection recursively, so you can resolve them in app calling
IServiceProvider
or inject using DI
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
.NET Core | netcoreapp3.0 is compatible. netcoreapp3.1 was computed. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
.NETCoreApp 3.0
- Microsoft.AspNetCore.Hosting.Abstractions (>= 2.2.0)
- Microsoft.Extensions.Configuration.Binder (>= 3.0.0-preview3.19153.1)
- Microsoft.Extensions.Options.ConfigurationExtensions (>= 3.0.0-preview3.19153.1)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
3.0.0 | 385 | 9/8/2019 |
3.0.0-preview3.0.2 | 330 | 4/12/2019 |
3.0.0-preview3.0.1 | 284 | 4/11/2019 |
3.0.0-preview3.0.0 | 305 | 3/30/2019 |