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
                    
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="3.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="3.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 3.0.0
                    
#r "nuget: Raycynix.Extensions.Configuration.Abstractions, 3.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@3.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=3.0.0
                    
Install as a Cake Addin
#tool nuget:?package=Raycynix.Extensions.Configuration.Abstractions&version=3.0.0
                    
Install as a Cake Tool

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

  • 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.

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 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 (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.