Configo.Design.Generation
1.1.3
dotnet add package Configo.Design.Generation --version 1.1.3
NuGet\Install-Package Configo.Design.Generation -Version 1.1.3
<PackageReference Include="Configo.Design.Generation" Version="1.1.3" />
<PackageVersion Include="Configo.Design.Generation" Version="1.1.3" />
<PackageReference Include="Configo.Design.Generation" />
paket add Configo.Design.Generation --version 1.1.3
#r "nuget: Configo.Design.Generation, 1.1.3"
#:package Configo.Design.Generation@1.1.3
#addin nuget:?package=Configo.Design.Generation&version=1.1.3
#tool nuget:?package=Configo.Design.Generation&version=1.1.3
Configo.Design.Generation
Out-of-process JSON schema generator for Configo.
You do not reference this package directly. It is an implementation detail of the
configo schema generatetool.
What it is
When you run configo schema generate, the tool:
- Runs your application so
Configo.Designcan discover which configuration sections are bound to which CLR types, writing a small bindings manifest. - Generates a tiny throwaway project that targets your application's runtime, references your application's compiled output, and references this package.
- Runs that throwaway project. It reads the manifest, loads your option types on your application's own
runtime, and generates the
appsettings.schema.jsonusing NJsonSchema.
Because generation runs on your application's runtime (compiled against your app and the ASP.NET Core
shared framework), the .NET host resolves your application's full dependency closure — including
shared-framework types such as System.Threading.RateLimiting — exactly as it does when your app runs.
This keeps NJsonSchema entirely out of your application: it is only ever referenced by the throwaway
generator project, never by your app or by Configo.Design.
Why a separate package?
NJsonSchema requires a live System.Type to generate a schema. The only place your option types load
reliably is on your application's own runtime. Shipping the generator as its own package lets the
configo tool reference it from a throwaway project that runs there — instead of the tool trying to load
your application's assemblies into its own (different) runtime, which is fragile and fails for
shared-framework types.
| 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
- NJsonSchema (>= 11.6.1)
- NJsonSchema.NewtonsoftJson (>= 11.6.1)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.