Raycynix.Extensions.Configuration.Abstractions 2.0.0

dotnet add package Raycynix.Extensions.Configuration.Abstractions --version 2.0.0
                    
NuGet\Install-Package Raycynix.Extensions.Configuration.Abstractions -Version 2.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="Raycynix.Extensions.Configuration.Abstractions" Version="2.0.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Raycynix.Extensions.Configuration.Abstractions" Version="2.0.0" />
                    
Directory.Packages.props
<PackageReference Include="Raycynix.Extensions.Configuration.Abstractions" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Raycynix.Extensions.Configuration.Abstractions --version 2.0.0
                    
#r "nuget: Raycynix.Extensions.Configuration.Abstractions, 2.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.
#:package Raycynix.Extensions.Configuration.Abstractions@2.0.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Raycynix.Extensions.Configuration.Abstractions&version=2.0.0
                    
Install as a Cake Addin
#tool nuget:?package=Raycynix.Extensions.Configuration.Abstractions&version=2.0.0
                    
Install as a Cake Tool

Raycynix.Extensions.Configuration.Abstractions

Raycynix.Extensions.Configuration.Abstractions contains the contracts used by the Raycynix configuration packages.

What it contains

  • ConfigurationReloadBehaviorAttribute
  • IApplicationEnvironment
  • IConfigurationAccessor<TOptions>
  • IConfigurationChangeHandler<TOptions>
  • IConfigurationDefaults<TOptions>
  • IConfigurationDiagnostics
  • IConfigurationRedactor
  • IFeatureFlagAccessor
  • IConfigurationReloadPolicy<TOptions>
  • IConfigurationValidator<TOptions>
  • ConfigurationChangeContext<TOptions>
  • ConfigurationRegistrationInfo
  • ConfigurationReloadInfo
  • ConfigurationReloadBehavior
  • ConfigurationReloadResult
  • ConfigurationValidationResult

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.

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 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (3)

Showing the top 3 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.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
2.0.0 94 6/1/2026
1.0.1 302 4/20/2026
1.0.0 312 4/8/2026
0.1.5 194 4/8/2026

v2.0.0 adds named options contracts, configuration diagnostics, redacted snapshot contracts, expanded reload decisions, required-section metadata, and feature flag accessor snapshot support.