dotnet-appsettings 0.2.0

There is a newer version of this package available.
See the version list below for details.
dotnet tool install --global dotnet-appsettings --version 0.2.0                
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.0                
This package contains a .NET tool you can call from the shell/command line.
#tool dotnet:?package=dotnet-appsettings&version=0.2.0                
nuke :add-package dotnet-appsettings --version 0.2.0                

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

NuGet

Build Status

Build Status

Getting started

.NET 6.0 Support

  • Package version 0.2.0 support .NET Runtime and .NET SDK 6.0.

Samples

  • appsettings.json
{
  "Logging": {
    "LogLevel": {
      "Default": "Information",
      "Microsoft": "Warning",
      "Microsoft.Hosting.Lifetime": "Information"
    }
  },
  "Array": [
    {
      "Name": "Value1"
    },
    {
      "Name": "Value2"
    }
  ],
  "AllowedHosts": "*"
}
  • Environment format for Docker compose file docker-compose.yml
services:
  webapi:
    environment:
      - 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": "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
AllowedHosts
*

Array__0__Name
Value1

Array__1__Name
Value2

Logging__LogLevel__Default
Information

Logging__LogLevel__Microsoft
Warning

Logging__LogLevel__Microsoft.Hosting.Lifetime
Information

Installation dotnet tool globally

Download and install the .NET Core 3.1 SDK or .NET Core 5 SDK or newer. Once installed the .NET Core SDK, run the following command:

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

Usage

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

Usage

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 https://docs.microsoft.com/en-us/dotnet/core/tools/local-tools-how-to-use

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

Usage

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

Usage

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]]

Parameters:
  -p|--path             path to appsettings.json, appsettings.Production.json
  -o|--output-file      path to output-file.json
  -e|--environment      output in docker compose environment
  -t|--text             output in text format
  --skip-slot-setting   skip SlotSetting=false
  -?|-h|--help          help
  --version             version of this tool

Limitations

  • #4: Not implement quote for YAML yet
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 was computed.  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-rc2 28 11/20/2024
1.0.0-rc1 307 1/14/2024
0.2.3 79,322 1/27/2023
0.2.2 1,006 1/11/2023
0.2.1 2,569 7/8/2022
0.2.0 1,172 11/10/2021
0.2.0-rc2 43,931 10/15/2021
0.2.0-rc1 67,460 9/15/2021
0.2.0-preview7 3,249 9/13/2021
0.1.2 66,842 7/6/2021
0.1.1 574 6/14/2021
0.1.0 567 6/5/2021
0.1.0-alpha1.2 205 6/5/2021