PicoCfg 2026.6.0
dotnet add package PicoCfg --version 2026.6.0
NuGet\Install-Package PicoCfg -Version 2026.6.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="PicoCfg" Version="2026.6.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="PicoCfg" Version="2026.6.0" />
<PackageReference Include="PicoCfg" />
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 PicoCfg --version 2026.6.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: PicoCfg, 2026.6.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 PicoCfg@2026.6.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=PicoCfg&version=2026.6.0
#tool nuget:?package=PicoCfg&version=2026.6.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
PicoCfg
Async-first configuration management for .NET Native AOT.
Quick Start
dotnet add package PicoCfg
using PicoCfg;
using PicoCfg.Abs;
using PicoCfg.Extensions;
var cfg = await Cfg.CreateBuilder()
.Add("App:Name=MyApp\nApp:Version=1.0")
.BuildAsync();
var value = cfg.GetValue("App:Name");
Provider Model
Sources ──→ Providers ──→ Root ──→ Consumer
Sources define how config is produced. The root composes provider snapshots into a unified view. Consumers query via TryGetValue or GetValue.
Built-in Sources
| Source | Description |
|---|---|
| Dictionary | In-memory key-value pairs |
| Environment Variables | OS environment, prefix filtering, __ → : mapping |
| Command Line | --key=value, --key value, -key value, /key value |
| Stream | Line-based key=value text parsing with file watching |
| File Watching | Auto-reload on file change with debounce |
| Chained | Fallback to another ICfg instance |
| KeyPerFile | Kubernetes ConfigMap style — filename=key, content=value |
CfgBuilder
var cfg = await Cfg.CreateBuilder()
.AddEnvironmentVariables("APP_")
.Add(() => File.OpenRead("appsettings.cfg"))
.Add(() => File.OpenRead($"appsettings.{env}.cfg"),
watchPath: $"appsettings.{env}.cfg")
.AddCommandLine(args)
.BuildAsync();
Source-Generated Binding
Add PicoCfg.Gen as an analyzer. Call CfgBind.Bind<T> to trigger compile-time binding generation.
using PicoCfg;
public sealed class AppSettings
{
public string Name { get; init; }
public int MaxRetries { get; init; } = 3;
}
var settings = CfgBind.Bind<AppSettings>(cfg, "App");
DI Integration (PicoCfg.DI)
container.RegisterCfgRoot(root); // ICfgRoot + ICfg
container.RegisterCfgSingleton<AppSettings>("App"); // POCO from config
container.RegisterCfgOptionsSingleton<AppSettings>(); // typed options
Packages
| Package | Description |
|---|---|
| PicoCfg | Configuration runtime |
| PicoCfg.Abs | ICfg, ICfgRoot, ICfgSection |
| PicoCfg.Gen | CfgBind.Bind<T> source generator |
| PicoCfg.DI | DI integration |
| 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. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
net10.0
- Microsoft.Bcl.AsyncInterfaces (>= 10.0.7)
- PicoCfg.Abs (>= 2026.6.0)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on PicoCfg:
| Package | Downloads |
|---|---|
|
PicoCfg.DI
PicoDI registration helpers for PicoCfg roots, snapshots, and generated bound POCOs. |
GitHub repositories
This package is not used by any popular GitHub repositories.