I'm writing a .NET Core console application (NOT an ASP.NET Core web application). In .NET Framework I would have an App.config
, and App.Debug.config
, and an App.Release.config
file, the latter 2 for transforming the former. This allowed me to change various settings based on whether I was creating a debug or a release build.
Now with .NET Core, you're meant to use appsettings.json
instead. Fine, but how do I do my debug and release transforms with this? I've read something about using an environment variable to determine whether you're in a release or debug environment but I really don't want to do this and it's not really appropriate for console applications anyway. So how can I transform config files in a similar way to how it was done in .NET Framework?
Application configuration in ASP.NET Core is performed using one or more configuration providers. Configuration providers read configuration data from key-value pairs using a variety of configuration sources: Settings files, such as appsettings. json.
ASP.NET Core no longer uses the Global. asax and web. config files that previous versions of ASP.NET utilized.
In order to set up the ASP.NET Core Module correctly, the web. config file must be present at the content root path (typically the app base path) of the deployed app.
When using Windows Forms or WPF etc, then you have the app. config which also stores ConnectionStrings. So yes they are similar but have different purposes.
The short answer that I found to this is: use SlowCheetah. It implements XDT transformations for .NET Core and in addition allows JSON transformations too with JDT.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With