Need help with config-r?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

422 Stars 47 Forks MIT License 480 Commits 21 Opened issues


Write your .NET configuration files in C#

Services available


Need anything else?

Contributors list


Write your .NET configuration files in C# :sunglasses:.

Fed up with XML soup? Frustrated that app settings can only be strings? Want to do more in your configuration file than just define app settings? Then ConfigR is for you!

Get it at NuGet.

Powered by Roslyn.

Source Browser


  • Dev AppVeyor branch
  • Master AppVeyor branch


Checkout the quickstart to get an idea of the basics.

ConfigR does plenty more! Features include the ability to specify the path of your configuration file(s), multiple cascading configuration files and custom configurators. Checkout the samples for more info.

TIP: you can write any C# you like in your 'configuration file' :wink:. The Roslyn #load and #r features are both supported for loading scripts and referencing assemblies.


Releases will be pushed regularly to NuGet.

To build manually, clone or fork this repository and see 'How to build'.

Can I help to improve it and/or fix bugs?

Absolutely! Please feel free to raise issues, fork the source code, send pull requests, etc.

No pull request is too small. Even whitespace fixes are appreciated. Before you contribute anything make sure you read

How to build

Navigate to your clone root folder and execute

. The prerequisite you need is MSBuild 15, which is also included in Visual Studio 2017.

executes the default build targets which include compilation, test execution and packaging. After the build has completed, the build artifacts will be located in

You can also build the solution using Visual Studio 2017 or later. At the time of writing the build is only confirmed to work on Windows using the Microsoft .NET framework 4.6+.


  • View the full list of build targets:

    build.cmd -T
  • Run a specific target:

    build.cmd build
  • Run multiple targets:

    build.cmd build pack
  • View the full list of options:

    build.cmd -?

What do the version numbers mean?

ConfigR uses Semantic Versioning.

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.