CommandLineConfigurationExtensions.AddCommandLine Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Sobrecargas
| Name | Description |
|---|---|
| AddCommandLine(IConfigurationBuilder, Action<CommandLineConfigurationSource>) |
Adiciona um IConfigurationProvider que lê valores de configuração da linha de comandos. |
| AddCommandLine(IConfigurationBuilder, String[]) |
Adiciona um CommandLineConfigurationProviderIConfigurationProvider que lê valores de configuração da linha de comandos. |
| AddCommandLine(IConfigurationBuilder, String[], IDictionary<String,String>) |
Adiciona um CommandLineConfigurationProviderIConfigurationProvider que lê valores de configuração da linha de comandos usando os mapeamentos de switch especificados. |
AddCommandLine(IConfigurationBuilder, Action<CommandLineConfigurationSource>)
Adiciona um IConfigurationProvider que lê valores de configuração da linha de comandos.
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 que é para acrescentar.
- configureSource
- Action<CommandLineConfigurationSource>
Configura a fonte.
Devoluções
Aplica-se a
AddCommandLine(IConfigurationBuilder, String[])
Adiciona um CommandLineConfigurationProviderIConfigurationProvider que lê valores de configuração da linha de comandos.
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 que é para acrescentar.
- args
- String[]
Os args da linha de comandos.
Devoluções
Exemplos
Uma simples aplicação de consola 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"]}'");
}
}
}
Observações
Os valores passados na linha de comandos, na args matriz de cadeias, devem ser um conjunto de teclas prefixadas com dois traços ("--") e depois valores, separados pelo sinal de igual ("=") ou por um espaço (" ").
Uma barra para a frente ("/") pode ser usada como prefixo alternativo, com iguais ou espaço, e ao usar um sinal de igual, o prefixo pode ser completamente omitido.
Existem 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 CommandLineConfigurationProviderIConfigurationProvider que lê valores de configuração da linha de comandos usando os mapeamentos de switch 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 que é para acrescentar.
- args
- String[]
Os args da linha de comandos.
- switchMappings
- IDictionary<String,String>
Os mapeamentos dos interruptores. Um dicionário de chaves curtas (com prefixo "-") e alias (com prefixo "--"), mapeadas para a chave de configuração (sem prefixo).
Devoluções
Exemplos
Uma aplicação simples de consola que tem dois mapeamentos curtos e quatro de alias 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"]}'");
}
}
}
Observações
Permite switchMappings o uso de formatos adicionais para teclas alternativas de curto e alias a partir da linha de comandos. Consulte também a versão básica para AddCommandLine os formatos padrão suportados.
As teclas curtas começam com um único traço ("-") e são mapeadas para o nome principal da chave (sem prefixo), podendo ser usadas com iguais ou espaço. Os mapeamentos de um único traço destinam-se a ser usados em interruptores alternativos mais curtos.
Note-se que um único interruptor de traço não pode ser acedido diretamente, mas deve ter um mapeamento do interruptor definido e acedido usando a chave completa. Passar um argumento de traço único indefinido causará como FormatException.
Existem dois formatos para argumentos curtos: -k1=value1 -k2 value2.
As definições de chaves de alias começam com dois traços ("--") e são mapeadas para o nome principal da chave (sem prefixo), podendo ser usadas em vez da chave normal. Também funcionam quando um prefixo de barra para frente é usado na linha de comandos (mas não com o formato sem prefixo igual a isso).
Existem apenas quatro formatos para argumentos aliasados: --alt3=value3 /alt4=value4 --alt5 value5 /alt6 value6.