AuroraScienceHub.Framework.Configuration
11.0.1
Prefix Reserved
dotnet add package AuroraScienceHub.Framework.Configuration --version 11.0.1
NuGet\Install-Package AuroraScienceHub.Framework.Configuration -Version 11.0.1
<PackageReference Include="AuroraScienceHub.Framework.Configuration" Version="11.0.1" />
<PackageVersion Include="AuroraScienceHub.Framework.Configuration" Version="11.0.1" />
<PackageReference Include="AuroraScienceHub.Framework.Configuration" />
paket add AuroraScienceHub.Framework.Configuration --version 11.0.1
#r "nuget: AuroraScienceHub.Framework.Configuration, 11.0.1"
#:package AuroraScienceHub.Framework.Configuration@11.0.1
#addin nuget:?package=AuroraScienceHub.Framework.Configuration&version=11.0.1
#tool nuget:?package=AuroraScienceHub.Framework.Configuration&version=11.0.1
AuroraScienceHub.Framework.Configuration
Enhanced configuration utilities for .NET applications with type-safe configuration loading and validation.
Overview
Provides extension methods to simplify .NET's configuration system, including required configuration validation and strongly-typed options.
Key Features
- Required Configuration - Enforce presence of configuration sections
- Type-Safe Options - Strongly typed configuration with validation
- Minimal Loading - Lightweight configuration for design-time tools
- Option Descriptions - Self-documenting configuration classes
Installation
dotnet add package AuroraScienceHub.Framework.Configuration
Usage
Define Options
public class DatabaseOptions : IOptionDescription
{
public static string OptionKey => "Database";
public string ConnectionString { get; set; } = string.Empty;
public int MaxRetries { get; set; }
public TimeSpan Timeout { get; set; }
}
// appsettings.json
{
"Database": {
"ConnectionString": "Server=localhost;Database=mydb",
"MaxRetries": 3,
"Timeout": "00:00:30"
}
}
Get Required Options
public class MyService
{
private readonly DatabaseOptions _options;
public MyService(IConfiguration configuration)
{
// Throws if section missing or invalid
_options = configuration.GetRequiredOptions<DatabaseOptions>();
}
}
Design-Time Loading
public class DesignTimeDbContextFactory : IDesignTimeDbContextFactory<MyDbContext>
{
public MyDbContext CreateDbContext(string[] args)
{
var configuration = MinimalConfigurationLoader.Load(args);
var options = configuration.GetRequiredOptions<DatabaseOptions>();
return new MyDbContext(options);
}
}
Service Registration Pattern
public static class ServiceCollectionExtensions
{
public static IServiceCollection AddEmailService(
this IServiceCollection services,
IConfiguration configuration)
{
var options = configuration.GetRequiredOptions<EmailOptions>();
services.Configure<EmailOptions>(
configuration.GetSection(EmailOptions.OptionKey));
services.AddScoped<IEmailSender, EmailSender>();
return services;
}
}
License
See LICENSE file in the repository root.
Related Packages
AuroraScienceHub.Framework.Utilities- Core utilities and helpersAuroraScienceHub.Framework.Composition- Module-based configuration
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. net11.0 is compatible. |
-
net10.0
- App.Metrics.Abstractions (>= 4.3.0)
- AuroraScienceHub.Framework.Utilities (>= 11.0.1)
- Microsoft.Extensions.Configuration (>= 11.0.0-rc.2.26504.105)
- Microsoft.Extensions.Configuration.Abstractions (>= 11.0.0-rc.2.26504.105)
- Microsoft.Extensions.Configuration.Binder (>= 11.0.0-rc.2.26504.105)
- Microsoft.Extensions.Configuration.CommandLine (>= 11.0.0-rc.2.26504.105)
- Microsoft.Extensions.Configuration.EnvironmentVariables (>= 11.0.0-rc.2.26504.105)
- Microsoft.Extensions.Configuration.FileExtensions (>= 11.0.0-rc.2.26504.105)
- Microsoft.Extensions.Configuration.Json (>= 11.0.0-rc.2.26504.105)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 11.0.0-rc.2.26504.105)
- Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions (>= 11.0.0-rc.2.26504.105)
- Microsoft.Extensions.Options (>= 11.0.0-rc.2.26504.105)
- Microsoft.Extensions.Options.ConfigurationExtensions (>= 11.0.0-rc.2.26504.105)
-
net11.0
- App.Metrics.Abstractions (>= 4.3.0)
- AuroraScienceHub.Framework.Utilities (>= 11.0.1)
- Microsoft.Extensions.Configuration (>= 11.0.0-rc.2.26504.105)
- Microsoft.Extensions.Configuration.Binder (>= 11.0.0-rc.2.26504.105)
- Microsoft.Extensions.Configuration.CommandLine (>= 11.0.0-rc.2.26504.105)
- Microsoft.Extensions.Configuration.EnvironmentVariables (>= 11.0.0-rc.2.26504.105)
- Microsoft.Extensions.Configuration.FileExtensions (>= 11.0.0-rc.2.26504.105)
- Microsoft.Extensions.Configuration.Json (>= 11.0.0-rc.2.26504.105)
- Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions (>= 11.0.0-rc.2.26504.105)
- Microsoft.Extensions.Options.ConfigurationExtensions (>= 11.0.0-rc.2.26504.105)
NuGet packages (2)
Showing the top 2 NuGet packages that depend on AuroraScienceHub.Framework.Configuration:
| Package | Downloads |
|---|---|
|
AuroraScienceHub.Framework.EntityFramework.NpgSql
Entity Framework Core extensions for PostgreSQL with NetTopologySuite spatial support, naming conventions, and database factory patterns. |
|
|
AuroraScienceHub.Framework.Logging.OpenTelemetry
OpenTelemetry integration for distributed tracing, metrics, and observability with configuration and diagnostics support. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 11.0.1 | 79 | 10/19/2026 |
| 11.0.1-feature-nuget-truste... | 68 | 10/16/2026 |
| 11.0.0 | 67 | 10/16/2026 |
| 10.1.0 | 1,171 | 8/19/2026 |
| 10.0.8 | 158 | 8/14/2026 |
| 10.0.7 | 142 | 8/11/2026 |
| 10.0.6 | 127 | 8/11/2026 |
| 10.0.5 | 2,513 | 4/23/2026 |
| 10.0.4 | 153 | 4/23/2026 |
| 10.0.3 | 766 | 2/11/2026 |
| 10.0.2 | 1,063 | 1/29/2026 |
| 10.0.1 | 556 | 12/25/2025 |
| 10.0.0 | 478 | 12/11/2025 |
| 9.0.7 | 2,668 | 11/20/2025 |
| 9.0.6 | 239 | 11/15/2025 |
| 9.0.5 | 293 | 11/8/2025 |
| 9.0.4 | 288 | 10/24/2025 |
| 9.0.3 | 258 | 10/15/2025 |
| 9.0.2 | 246 | 10/15/2025 |
| 9.0.1 | 640 | 10/14/2025 |