Raycynix.Extensions.Configuration.Abstractions
2.2.0
dotnet add package Raycynix.Extensions.Configuration.Abstractions --version 2.2.0
NuGet\Install-Package Raycynix.Extensions.Configuration.Abstractions -Version 2.2.0
<PackageReference Include="Raycynix.Extensions.Configuration.Abstractions" Version="2.2.0" />
<PackageVersion Include="Raycynix.Extensions.Configuration.Abstractions" Version="2.2.0" />
<PackageReference Include="Raycynix.Extensions.Configuration.Abstractions" />
paket add Raycynix.Extensions.Configuration.Abstractions --version 2.2.0
#r "nuget: Raycynix.Extensions.Configuration.Abstractions, 2.2.0"
#:package Raycynix.Extensions.Configuration.Abstractions@2.2.0
#addin nuget:?package=Raycynix.Extensions.Configuration.Abstractions&version=2.2.0
#tool nuget:?package=Raycynix.Extensions.Configuration.Abstractions&version=2.2.0
Raycynix.Extensions.Configuration.Abstractions
Raycynix.Extensions.Configuration.Abstractions contains the contracts used by the Raycynix configuration packages.
What it contains
ConfigurationReloadBehaviorAttributeIApplicationEnvironmentIConfigurationAccessor<TOptions>IConfigurationChangeHandler<TOptions>IConfigurationDefaults<TOptions>IConfigurationDiagnosticsIConfigurationRedactorIFeatureFlagAccessorIConfigurationReloadPolicy<TOptions>IConfigurationValidator<TOptions>ConfigurationChangeContext<TOptions>ConfigurationRegistrationInfoConfigurationReloadInfoConfigurationReloadBehaviorConfigurationReloadResultConfigurationValidationResult
Purpose
This package allows applications and libraries to provide their own typed access, feature-flag access, diagnostics, redaction, default-value, validation, reload-governance, and change-handling strategies for typed configuration models without depending on the configuration implementation package.
The abstractions are aligned with the standard Microsoft.Extensions model. Packages that implement runtime diagnostics should use optional Microsoft.Extensions.Logging.ILogger<T> dependencies so applications can choose any compatible logging provider or run without one.
Example
Libraries can depend only on abstractions and consume the current typed configuration through IConfigurationAccessor<TOptions>:
public sealed class CacheService(IConfigurationAccessor<CacheOptions> configurationAccessor)
{
public int GetDefaultTtlSeconds()
{
return configurationAccessor.Current.DefaultTtlSeconds;
}
}
Runtime reload rules can also be expressed at the options model level:
public sealed class CacheOptions
{
[ConfigurationReloadBehavior(ConfigurationReloadBehavior.Reject)]
public string ConnectionString { get; init; } = string.Empty;
public int DefaultTtlSeconds { get; init; }
}
Diagnostics consumers can depend on IConfigurationDiagnostics to inspect registered options, retained reload decisions, and redacted snapshots without referencing the implementation package directly.
| 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. |
-
net10.0
- Microsoft.Extensions.Configuration.Abstractions (>= 10.0.9)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.9)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.9)
NuGet packages (5)
Showing the top 5 NuGet packages that depend on Raycynix.Extensions.Configuration.Abstractions:
| Package | Downloads |
|---|---|
|
Raycynix.Extensions.Configuration
Core typed-configuration registration, named options, diagnostics with redacted snapshots, feature flags, validation, reload governance, change handling, and environment-aware source composition for Raycynix applications. |
|
|
Raycynix.Extensions.Logging
Structured logging registration, Serilog-based host integration, typed logger adapters, and configurable console logging for Raycynix applications. |
|
|
Raycynix.Extensions.Metrics
Core metrics registration, Prometheus-backed metric services, typed metrics configuration, and application-level instrumentation composition for Raycynix applications. |
|
|
Raycynix.Extensions.Email
Shared email registration infrastructure for Raycynix applications, including provider resolution, typed configuration, and email builder support. |
|
|
Raycynix.Extensions.Email.Smtp
MailKit-based SMTP provider integration for Raycynix email, including SMTP configuration binding, validation, and message delivery. |
GitHub repositories
This package is not used by any popular GitHub repositories.
v2.2.0 starts unified versioning for Raycynix packages.