CommandLineConfigurationExtensions.AddCommandLine Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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>)
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
Aplica-se a
AddCommandLine(IConfigurationBuilder, String[])
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
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>)
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
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