Raycynix.Extensions.Configuration.Abstractions
3.0.0
dotnet add package Raycynix.Extensions.Configuration.Abstractions --version 3.0.0
NuGet\Install-Package Raycynix.Extensions.Configuration.Abstractions -Version 3.0.0
<PackageReference Include="Raycynix.Extensions.Configuration.Abstractions" Version="3.0.0" />
<PackageVersion Include="Raycynix.Extensions.Configuration.Abstractions" Version="3.0.0" />
<PackageReference Include="Raycynix.Extensions.Configuration.Abstractions" />
paket add Raycynix.Extensions.Configuration.Abstractions --version 3.0.0
#r "nuget: Raycynix.Extensions.Configuration.Abstractions, 3.0.0"
#:package Raycynix.Extensions.Configuration.Abstractions@3.0.0
#addin nuget:?package=Raycynix.Extensions.Configuration.Abstractions&version=3.0.0
#tool nuget:?package=Raycynix.Extensions.Configuration.Abstractions&version=3.0.0
Raycynix.Extensions.Configuration.Abstractions
Raycynix.Extensions.Configuration.Abstractions contains the contracts used by the Raycynix configuration packages.
Package
- Version:
3.0.0 - Target framework:
net10.0 - Built on Microsoft.Extensions abstractions 10.x
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.10)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.10)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.10)
NuGet packages (4)
Showing the top 4 NuGet packages that depend on Raycynix.Extensions.Configuration.Abstractions:
| Package | Downloads |
|---|---|
|
Raycynix.Extensions.Configuration
Core Raycynix typed-options registration for Microsoft.Extensions.Configuration, with dotenv and appsettings sources, named options, feature flags, validation, reload governance, change handlers, diagnostics, and redacted snapshots. |
|
|
Raycynix.Extensions.Logging
Structured logging registration, Serilog-based host integration, typed logger adapters, and configurable console logging for Raycynix applications. |
|
|
Raycynix.Extensions.Email
Email provider registration infrastructure with typed Email options, default sender and reply-to resolution, provider selection, validation, and dependency injection support. |
|
|
Raycynix.Extensions.Email.Smtp
MailKit-based SMTP provider for Raycynix email with typed transport options, credential and TLS validation, MIME composition, attachments, and asynchronous delivery. |
GitHub repositories
This package is not used by any popular GitHub repositories.
v3.0.0 aligns the abstractions package with net10.0/Microsoft.Extensions 10 and documents the current typed options, diagnostics, redaction, feature flag, validation, reload, and change-handler contracts.