Settings.CodeGen
1.0.0
dotnet add package Settings.CodeGen --version 1.0.0
NuGet\Install-Package Settings.CodeGen -Version 1.0.0
<PackageReference Include="Settings.CodeGen" Version="1.0.0"> <PrivateAssets>all</PrivateAssets> <IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets> </PackageReference>
<PackageVersion Include="Settings.CodeGen" Version="1.0.0" />
<PackageReference Include="Settings.CodeGen"> <PrivateAssets>all</PrivateAssets> <IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets> </PackageReference>
paket add Settings.CodeGen --version 1.0.0
#r "nuget: Settings.CodeGen, 1.0.0"
#:package Settings.CodeGen@1.0.0
#addin nuget:?package=Settings.CodeGen&version=1.0.0
#tool nuget:?package=Settings.CodeGen&version=1.0.0
Settings.CodeGen
Generates strongly-typed constants for appsettings.json(appsettings.{Environment}.json) configuration keys. This helps prevent typos and improves refactorability when accessing configuration values.
Usage
- Install the package:
dotnet add package Settings.CodeGen
- Build your project. Constants will be generated automatically in the
Generated
folder (relative to the project file). - Use the generated keys in your code:
string conn = configuration[AppSettingsKeys.ConnectionStrings.DefaultConnection];
Configuration
You can configure the code generation by adding properties to your project file (.csproj
).
Add a <PropertyGroup>
and set the desired properties:
<PropertyGroup>
<SettingsCodeGenNamespace>MyApp.Config</SettingsCodeGenNamespace>
<SettingsCodeGenProjectDir>/src/projectWithAppsettingFiles</SettingsCodeGenProjectDir>
<SettingsCodeGenLocalization>en</SettingsCodeGenLocalization>
<SettingsCodeGenEnabled>false</SettingsCodeGenEnabled>
</PropertyGroup>
Minimal Configuration Examples
To use defaults (generate in $(MSBuildProjectName).Generated.AppSettingsKeys
):
No configuration needed. Just install the package and build.
To disable generation for a specific project:
<PropertyGroup>
<SettingsCodeGenEnabled>true</SettingsCodeGenEnabled>
</PropertyGroup>
To change the output namespace:
<PropertyGroup>
<SettingsCodeGenNamespace>MyCompany.MyApp.Configuration</SettingsCodeGenNamespace>
</PropertyGroup>
Learn more about Target Frameworks and .NET Standard.
This package has no dependencies.
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 | 88 | 7/27/2025 |