CommandLineConfigurationExtensions.AddCommandLine Método

Definición

Sobrecargas

AddCommandLine(IConfigurationBuilder, Action<CommandLineConfigurationSource>)

Agrega una instancia de IConfigurationProvider que lee los valores de configuración de la línea de comandos.

AddCommandLine(IConfigurationBuilder, String[])

Agrega una instancia de CommandLineConfigurationProvider que lee los valores de configuración de la línea de comandos.

AddCommandLine(IConfigurationBuilder, String[], IDictionary<String,String>)

Agrega una instancia de CommandLineConfigurationProvider que lee valores de configuración de la línea de comandos mediante las asignaciones de modificador especificadas.

AddCommandLine(IConfigurationBuilder, Action<CommandLineConfigurationSource>)

Source:
CommandLineConfigurationExtensions.cs
Source:
CommandLineConfigurationExtensions.cs
Source:
CommandLineConfigurationExtensions.cs
Source:
CommandLineConfigurationExtensions.cs

Agrega una instancia de IConfigurationProvider que lee los valores de configuración de la línea de comandos.

public static Microsoft.Extensions.Configuration.IConfigurationBuilder AddCommandLine (this Microsoft.Extensions.Configuration.IConfigurationBuilder builder, Action<Microsoft.Extensions.Configuration.CommandLine.CommandLineConfigurationSource>? configureSource);

Parámetros

builder
IConfigurationBuilder

El objeto IConfigurationBuilder al que se va a agregar.

configureSource
Action<CommandLineConfigurationSource>

Configura el origen.

Devoluciones

El parámetro de cadena de consulta IConfigurationBuilder.

Se aplica a

.NET 9 y otras versiones
Producto Versiones
.NET 6, 7, 8, 9
.NET Framework 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0

AddCommandLine(IConfigurationBuilder, String[])

Source:
CommandLineConfigurationExtensions.cs
Source:
CommandLineConfigurationExtensions.cs
Source:
CommandLineConfigurationExtensions.cs
Source:
CommandLineConfigurationExtensions.cs

Agrega una instancia de CommandLineConfigurationProvider que lee los valores de configuración de la línea de comandos.

public static Microsoft.Extensions.Configuration.IConfigurationBuilder AddCommandLine (this Microsoft.Extensions.Configuration.IConfigurationBuilder configurationBuilder, string[] args);

Parámetros

configurationBuilder
IConfigurationBuilder

El objeto IConfigurationBuilder al que se va a agregar.

args
String[]

Los argumentos de línea de comandos.

Devoluciones

El parámetro de cadena de consulta IConfigurationBuilder.

Ejemplos

Una aplicación de consola simple que tiene cinco valores.

// dotnet run key1=value1 --key2=value2 /key3=value3 --key4 value4 /key5 value5

using Microsoft.Extensions.Configuration;
using System;

namespace CommandLineSample
{
   public class Program
   {
       public static void Main(string[] args)
       {
           var builder = new ConfigurationBuilder();
           builder.AddCommandLine(args);

           var config = builder.Build();

           Console.WriteLine($"Key1: '{config["Key1"]}'");
           Console.WriteLine($"Key2: '{config["Key2"]}'");
           Console.WriteLine($"Key3: '{config["Key3"]}'");
           Console.WriteLine($"Key4: '{config["Key4"]}'");
           Console.WriteLine($"Key5: '{config["Key5"]}'");
       }
   }
}

Comentarios

Los valores pasados en la línea de comandos, en la args matriz de cadenas, deben ser un conjunto de claves con el prefijo de dos guiones ("--") y, a continuación, los valores, separados por el signo igual ("=") o un espacio (" "). Se puede usar una barra diagonal ("/") como prefijo alternativo, con igual o espacio. Cuando se usa un signo igual, se puede dejar el prefijo por completo.

Hay cinco formatos alternativos básicos para los argumentos:

key1=value1
--key2=value2
/key3=value3
--key4 value4
/key5 value5

Se aplica a

.NET 9 y otras versiones
Producto Versiones
.NET 6, 7, 8, 9
.NET Framework 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0

AddCommandLine(IConfigurationBuilder, String[], IDictionary<String,String>)

Source:
CommandLineConfigurationExtensions.cs
Source:
CommandLineConfigurationExtensions.cs
Source:
CommandLineConfigurationExtensions.cs
Source:
CommandLineConfigurationExtensions.cs

Agrega una instancia de CommandLineConfigurationProvider que lee valores de configuración de la línea de comandos mediante las asignaciones de modificador especificadas.

public static Microsoft.Extensions.Configuration.IConfigurationBuilder AddCommandLine (this Microsoft.Extensions.Configuration.IConfigurationBuilder configurationBuilder, string[] args, System.Collections.Generic.IDictionary<string,string>? switchMappings);

Parámetros

configurationBuilder
IConfigurationBuilder

El objeto IConfigurationBuilder al que se va a agregar.

args
String[]

Los argumentos de línea de comandos.

switchMappings
IDictionary<String,String>

Las asignaciones de modificador. Un diccionario de claves breves (con prefijo "-") y de alias (con el prefijo "--") asignado a la clave de configuración (sin prefijo).

Devoluciones

El parámetro de cadena de consulta IConfigurationBuilder.

Ejemplos

Una aplicación de consola sencilla que tiene dos asignaciones de modificadores de alias y cuatro cortas definidas.

// dotnet run k1=value1 -k2 value2 --alt3=value2 /alt4=value3 --alt5 value5 /alt6 value6

using Microsoft.Extensions.Configuration;
using System;
using System.Collections.Generic;

namespace CommandLineSample
{
   public class Program
   {
       public static void Main(string[] args)
       {
           var switchMappings = new Dictionary<string, string>()
           {
               { "-k1", "key1" },
               { "-k2", "key2" },
               { "--alt3", "key3" },
               { "--alt4", "key4" },
               { "--alt5", "key5" },
               { "--alt6", "key6" },
           };
           var builder = new ConfigurationBuilder();
           builder.AddCommandLine(args, switchMappings);

           var config = builder.Build();

           Console.WriteLine($"Key1: '{config["Key1"]}'");
           Console.WriteLine($"Key2: '{config["Key2"]}'");
           Console.WriteLine($"Key3: '{config["Key3"]}'");
           Console.WriteLine($"Key4: '{config["Key4"]}'");
           Console.WriteLine($"Key5: '{config["Key5"]}'");
           Console.WriteLine($"Key6: '{config["Key6"]}'");
       }
   }
}

Comentarios

Permite switchMappings usar formatos adicionales para claves de alias y abreviadas alternativas desde la línea de comandos. Para conocer los formatos estándar admitidos, consulte la versión básica de AddCommandLine.

Las teclas cortas comienzan con un solo guión ("-") y se asignan al nombre de clave principal (sin prefijo) y se pueden usar con iguales o espacios. Las asignaciones de un solo guión están diseñadas para usarse para conmutadores alternativos más cortos. No se puede acceder directamente a un conmutador de guion único, pero debe tener una asignación de conmutador definida y a la que se tenga acceso mediante la clave completa. Si se pasa un argumento de un guión único sin definir, se producirá una FormatExceptionexcepción .

Hay dos formatos para argumentos cortos: -k1=value1 y -k2 value2.

Las definiciones de clave de alias comienzan con dos guiones ("--") y se asignan al nombre de clave principal (sin prefijo) y se pueden usar en lugar de la clave normal. También funcionan cuando se usa un prefijo de barra diagonal en la línea de comandos (pero no con el formato sin prefijo igual).

Solo hay cuatro formatos para los argumentos con alias:

--alt3=value3
/alt4=value4
--alt5 value5
/alt6 value6

Se aplica a

.NET 9 y otras versiones
Producto Versiones
.NET 6, 7, 8, 9
.NET Framework 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0