Compartilhar via


CommandLineConfigurationExtensions.AddCommandLine Método

Definição

Sobrecargas

AddCommandLine(IConfigurationBuilder, Action<CommandLineConfigurationSource>)

Adiciona um IConfigurationProvider que lê os valores de configuração da linha de comando.

AddCommandLine(IConfigurationBuilder, String[])

Adiciona um CommandLineConfigurationProvider que lê os valores de configuração da linha de comando.

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

Adiciona um CommandLineConfigurationProvider que lê os valores de configuração da linha de comando usando os mapeamentos de opção especificados.

AddCommandLine(IConfigurationBuilder, Action<CommandLineConfigurationSource>)

Origem:
CommandLineConfigurationExtensions.cs
Origem:
CommandLineConfigurationExtensions.cs
Origem:
CommandLineConfigurationExtensions.cs
Origem:
CommandLineConfigurationExtensions.cs

Adiciona um IConfigurationProvider que lê os valores de configuração da linha de comando.

public:
[System::Runtime::CompilerServices::Extension]
 static Microsoft::Extensions::Configuration::IConfigurationBuilder ^ AddCommandLine(Microsoft::Extensions::Configuration::IConfigurationBuilder ^ builder, Action<Microsoft::Extensions::Configuration::CommandLine::CommandLineConfigurationSource ^> ^ configureSource);
public static Microsoft.Extensions.Configuration.IConfigurationBuilder AddCommandLine (this Microsoft.Extensions.Configuration.IConfigurationBuilder builder, Action<Microsoft.Extensions.Configuration.CommandLine.CommandLineConfigurationSource>? configureSource);
static member AddCommandLine : Microsoft.Extensions.Configuration.IConfigurationBuilder * Action<Microsoft.Extensions.Configuration.CommandLine.CommandLineConfigurationSource> -> Microsoft.Extensions.Configuration.IConfigurationBuilder
<Extension()>
Public Function AddCommandLine (builder As IConfigurationBuilder, configureSource As Action(Of CommandLineConfigurationSource)) As IConfigurationBuilder

Parâmetros

builder
IConfigurationBuilder

O IConfigurationBuilder ao qual adicionar.

configureSource
Action<CommandLineConfigurationSource>

Configura a origem.

Retornos

O IConfigurationBuilder.

Aplica-se a

AddCommandLine(IConfigurationBuilder, String[])

Origem:
CommandLineConfigurationExtensions.cs
Origem:
CommandLineConfigurationExtensions.cs
Origem:
CommandLineConfigurationExtensions.cs
Origem:
CommandLineConfigurationExtensions.cs

Adiciona um CommandLineConfigurationProvider que lê os valores de configuração da linha de comando.

public:
[System::Runtime::CompilerServices::Extension]
 static Microsoft::Extensions::Configuration::IConfigurationBuilder ^ AddCommandLine(Microsoft::Extensions::Configuration::IConfigurationBuilder ^ configurationBuilder, cli::array <System::String ^> ^ args);
public static Microsoft.Extensions.Configuration.IConfigurationBuilder AddCommandLine (this Microsoft.Extensions.Configuration.IConfigurationBuilder configurationBuilder, string[] args);
static member AddCommandLine : Microsoft.Extensions.Configuration.IConfigurationBuilder * string[] -> Microsoft.Extensions.Configuration.IConfigurationBuilder
<Extension()>
Public Function AddCommandLine (configurationBuilder As IConfigurationBuilder, args As String()) As IConfigurationBuilder

Parâmetros

configurationBuilder
IConfigurationBuilder

O IConfigurationBuilder ao qual adicionar.

args
String[]

Os argumentos da linha de comando.

Retornos

O IConfigurationBuilder.

Exemplos

Um aplicativo de console simples que tem 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"]}'");
       }
   }
}

Comentários

Os valores passados na linha de comando, na matriz de cadeia de caracteres, devem ser um conjunto de chaves prefixados com dois traços ("--") e, em args seguida, valores, separados pelo sinal de igual ("=") ou um espaço (" "). Uma barra ("/") pode ser usada como um prefixo alternativo, com igual ou espaço. Ao usar um sinal de igual, o prefixo pode ser deixado de fora completamente.

Há cinco formatos alternativos básicos para argumentos:

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

Aplica-se a

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

Origem:
CommandLineConfigurationExtensions.cs
Origem:
CommandLineConfigurationExtensions.cs
Origem:
CommandLineConfigurationExtensions.cs
Origem:
CommandLineConfigurationExtensions.cs

Adiciona um CommandLineConfigurationProvider que lê os valores de configuração da linha de comando usando os mapeamentos de opção especificados.

public:
[System::Runtime::CompilerServices::Extension]
 static Microsoft::Extensions::Configuration::IConfigurationBuilder ^ AddCommandLine(Microsoft::Extensions::Configuration::IConfigurationBuilder ^ configurationBuilder, cli::array <System::String ^> ^ args, System::Collections::Generic::IDictionary<System::String ^, System::String ^> ^ switchMappings);
public static Microsoft.Extensions.Configuration.IConfigurationBuilder AddCommandLine (this Microsoft.Extensions.Configuration.IConfigurationBuilder configurationBuilder, string[] args, System.Collections.Generic.IDictionary<string,string>? switchMappings);
static member AddCommandLine : Microsoft.Extensions.Configuration.IConfigurationBuilder * string[] * System.Collections.Generic.IDictionary<string, string> -> Microsoft.Extensions.Configuration.IConfigurationBuilder
<Extension()>
Public Function AddCommandLine (configurationBuilder As IConfigurationBuilder, args As String(), switchMappings As IDictionary(Of String, String)) As IConfigurationBuilder

Parâmetros

configurationBuilder
IConfigurationBuilder

O IConfigurationBuilder ao qual adicionar.

args
String[]

Os argumentos da linha de comando.

switchMappings
IDictionary<String,String>

Os mapeamentos de comutador. Um dicionário chaves curtas (com prefixo "-") e chaves de alias (com o prefixo "--") mapeadas para a chave de configuração (sem prefixo).

Retornos

O IConfigurationBuilder.

Exemplos

Um aplicativo de console simples que tem dois mapeamentos de comutador de alias curtos e quatro definidos.

// 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"]}'");
       }
   }
}

Comentários

O switchMappings permite que formatos adicionais para chaves de alias e curtas alternativas sejam usados na linha de comando. Para obter os formatos padrão com suporte, consulte a versão básica do AddCommandLine.

As teclas curtas começam com um único traço ("-") e são mapeadas para o nome da chave de main (sem prefixo) e podem ser usadas com igual ou espaço. Os mapeamentos de traço único devem ser usados para comutadores alternativos mais curtos. Um único comutador de traço não pode ser acessado diretamente, mas deve ter um mapeamento de comutador definido e acessado usando a chave completa. Passar um argumento de traço único indefinido causará um FormatException.

Há dois formatos para argumentos curtos: -k1=value1 e -k2 value2.

As definições de chave de alias começam com dois traços ("--") e são mapeadas para o nome da chave de main (sem prefixo) e podem ser usadas no lugar da chave normal. Eles também funcionam quando um prefixo de barra é usado na linha de comando (mas não com o formato sem prefixo igual).

Há apenas quatro formatos para argumentos com alias:

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

Aplica-se a