dotnet-appsettings 0.2.3

There is a newer prerelease version of this package available.
See the version list below for details.
dotnet tool install --global dotnet-appsettings --version 0.2.3                
This package contains a .NET tool you can call from the shell/command line.
dotnet new tool-manifest # if you are setting up this repo
dotnet tool install --local dotnet-appsettings --version 0.2.3                
This package contains a .NET tool you can call from the shell/command line.
#tool dotnet:?package=dotnet-appsettings&version=0.2.3                
nuke :add-package dotnet-appsettings --version 0.2.3                

dotnet-appsettings - .NET tools

The tool to convert appsettings.json files to Docker Compose environment format (yaml) or json name-value format support bulk update to Application Settings on Azure AppService.

Nuget package


Build Status

Build Status

Getting started

.NET 7.0 Support

  • Package version 0.2.2 support .NET Runtime and .NET SDK 7.0, .NET SDK 6.0, .NET SDK 5.0 and .NETCore SDK 3.1.


  • appsettings.json
  "Logging": {
    "LogLevel": {
      "Default": "Information",
      "Microsoft": "Warning",
      "Microsoft.Hosting.Lifetime": "Information"
  "Array": [
      "Name": "!Value1"
      "Name": "@Value2"
  "!Key3": "Value &3 + 4",
  "AllowedHosts": "*"
  • Environment array syntax format for Docker compose file docker-compose.yml
      - '!Key3=Value &3 + 4'
      - AllowedHosts=*
      - Array__0__Name=!Value1
      - Array__1__Name=@Value2
      - Logging__LogLevel__Default=Information
      - Logging__LogLevel__Microsoft=Warning
      - Logging__LogLevel__Microsoft.Hosting.Lifetime=Information
  • Environment map syntax format for Docker compose file docker-compose.yml
      '!Key3': Value &3 + 4
      AllowedHosts: '*'
      Array__0__Name: '!Value1'
      Array__1__Name: '@Value2'
      Logging__LogLevel__Default: Information
      Logging__LogLevel__Microsoft: Warning
      Logging__LogLevel__Microsoft.Hosting.Lifetime: Information
  • Environment json format for launchSettings.json
  "profiles": {
    "ConsoleApp1": {
      "commandName": "Project",
      "environmentVariables": {
        "!Key3": "Value \u00263 \u002B 4",
        "AllowedHosts": "*",
        "Array__0__Name": "!Value1",
        "Array__1__Name": "@Value2",
        "Logging__LogLevel__Default": "Information",
        "Logging__LogLevel__Microsoft": "Warning",
        "Logging__LogLevel__Microsoft.Hosting.Lifetime": "Information"

Edit in bulk

    "name": "!Key3",
    "value": "Value \u00263 \u002B 4",
    "slotSetting": false
    "name": "AllowedHosts",
    "value": "*",
    "slotSetting": false
    "name": "Array__0__Name",
    "value": "!Value1",
    "slotSetting": false
    "name": "Array__1__Name",
    "value": "@Value2",
    "slotSetting": false
    "name": "Logging__LogLevel__Default",
    "value": "Information",
    "slotSetting": false
    "name": "Logging__LogLevel__Microsoft",
    "value": "Warning",
    "slotSetting": false
    "name": "Logging__LogLevel__Microsoft.Hosting.Lifetime",
    "value": "Information",
    "slotSetting": false
  • Text format for manually update Azure AppService / Configuration / Application Settings
Value &3 + 4







Installation dotnet tool globally

Download and install the .NET 7.0 SDK or .NET 6.0 SDK. The tool still support .NETCore 3.1 SDK and .NET 5.0 SDK for a moment. Once installed the .NET SDK, run the following command to install the tool:

dotnet tool install --global dotnet-appsettings

If you already have a previous version of dotnet-appsettings installed, you can upgrade to the latest version using the following command:

dotnet tool update --global dotnet-appsettings


appsettings appsettings.json appsettings.Production.json

Installation dotnet tool to a path

You can install the tool dotnet-appsettings to a folder

dotnet tool install dotnet-appsettings --tool-path C:\Development\Project1\tools


C:\Development\Project1\tools\appsettings.exe appsettings.json appsettings.Production.json

Installation dotnet tool locally

You can either install the tool locally in the project folder scope as

cd /d C:\Development\Project1
dotnet new tool-manifest
dotnet tool install dotnet-appsettings


C:\Development\Project1\Core> dotnet appsettings appsettings.json appsettings.Production.json


Command line global:
  appsettings [appsettings.json [appsettings.Production.json]]

Command line local:
  dotnet appsettings [appsettings.json [appsettings.Production.json]]

Command line tool path:
  "C:\Development\Project1\tools\appsettings.exe" [appsettings.json [appsettings.Production.json]]

Usage: appsettings [arguments] [options]

  appsettingsFiles  appsettings.json appsettings.Production.json

  -p|--path              path to appsettings.json, appsettings.Production.json
  -o|--output-file       path to output-file.json
  -e|--environment       output in docker compose environment Array syntax
  -m|--map-environment   output in docker compose environment Map syntax
  -j|--json-environment  output in environment json
  -t|--text              output in text format
  --skip-slot-setting    skip SlotSetting=false
  --version              Show version information
  -?|-h|--help           Show help information
  -v|--verbose           Show verbose output.
Product Compatible and additional computed target framework versions.
.NET net5.0 is compatible.  net5.0-windows was computed.  net6.0 is compatible.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 is compatible.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
.NET Core netcoreapp3.1 is compatible. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

This package has no dependencies.

Version Downloads Last updated
1.0.0-rc1 198 1/14/2024
0.2.3 60,511 1/27/2023
0.2.2 976 1/11/2023
0.2.1 2,540 7/8/2022
0.2.0 1,141 11/10/2021
0.2.0-rc2 43,917 10/15/2021
0.2.0-rc1 67,428 9/15/2021
0.2.0-preview7 3,219 9/13/2021
0.1.2 66,806 7/6/2021
0.1.1 536 6/14/2021
0.1.0 537 6/5/2021
0.1.0-alpha1.2 192 6/5/2021