Arkanis.Common.Options
1.0.0-dev.1
dotnet add package Arkanis.Common.Options --version 1.0.0-dev.1
NuGet\Install-Package Arkanis.Common.Options -Version 1.0.0-dev.1
<PackageReference Include="Arkanis.Common.Options" Version="1.0.0-dev.1" />
<PackageVersion Include="Arkanis.Common.Options" Version="1.0.0-dev.1" />
<PackageReference Include="Arkanis.Common.Options" />
paket add Arkanis.Common.Options --version 1.0.0-dev.1
#r "nuget: Arkanis.Common.Options, 1.0.0-dev.1"
#:package Arkanis.Common.Options@1.0.0-dev.1
#addin nuget:?package=Arkanis.Common.Options&version=1.0.0-dev.1&prerelease
#tool nuget:?package=Arkanis.Common.Options&version=1.0.0-dev.1&prerelease
Arkanis.Common.Options
Shared configuration and dependency-injection helpers for Arkanis .NET services.
Responsibilities
- Bind self-describing options classes from their own configuration section path.
- Register those options with the Microsoft options pattern.
- Expose typed DI aliases for services that are registered under another contract.
- Provide a manual options change token source for dynamic options refresh scenarios.
Usage
Implement ISelfBindableOptions on an options type and return its configuration section path.
public sealed class FeatureOptions : ISelfBindableOptions
{
public string SectionPath => "Features:Example";
public bool Enabled { get; set; }
}
Register it with the service collection or host application builder.
services.AddConfiguration<FeatureOptions>(configuration);
builder.AddConfiguration<FeatureOptions>();
Use DI aliases when an implementation is registered through one contract but must also be resolved through another.
services.AddSingleton<ConcreteService>();
services.Alias<ISharedService, ConcreteService>();
Use OptionsChangeTokenProvider<TOptions> when a component intentionally needs to signal IOptionsMonitor<TOptions> cache refreshes.
Notes
Options binding rejects unknown configuration keys. This keeps configuration drift visible during startup and tests. DI aliases resolve lazily, so missing or mismatched backing registrations fail when the alias is requested.
| 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 (>= 10.0.9)
- Microsoft.Extensions.Configuration.Abstractions (>= 10.0.9)
- Microsoft.Extensions.Configuration.Binder (>= 10.0.9)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.9)
- Microsoft.Extensions.FileProviders.Abstractions (>= 10.0.9)
- Microsoft.Extensions.Hosting.Abstractions (>= 10.0.9)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.9)
- Microsoft.Extensions.Options (>= 10.0.9)
- Microsoft.Extensions.Primitives (>= 10.0.9)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.0.0-dev.1 | 52 | 7/9/2026 |