Condividi tramite


CommandLineConfigurationExtensions.AddCommandLine Metodo

Definizione

Overload

AddCommandLine(IConfigurationBuilder, Action<CommandLineConfigurationSource>)

Aggiunge un oggetto IConfigurationProvider che legge i valori di configurazione dalla riga di comando.

AddCommandLine(IConfigurationBuilder, String[])

Aggiunge un oggetto CommandLineConfigurationProvider che legge i valori di configurazione dalla riga di comando.

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

Aggiunge un oggetto CommandLineConfigurationProvider che legge i valori di configurazione dalla riga di comando usando i mapping tra le opzioni specificati.

AddCommandLine(IConfigurationBuilder, Action<CommandLineConfigurationSource>)

Origine:
CommandLineConfigurationExtensions.cs
Origine:
CommandLineConfigurationExtensions.cs
Origine:
CommandLineConfigurationExtensions.cs
Origine:
CommandLineConfigurationExtensions.cs

Aggiunge un oggetto IConfigurationProvider che legge i valori di configurazione dalla riga di 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

Parametri

builder
IConfigurationBuilder

Oggetto IConfigurationBuilder in cui effettuare l'aggiunta.

configureSource
Action<CommandLineConfigurationSource>

Configura l'origine.

Restituisce

Oggetto IConfigurationBuilder.

Si applica a

AddCommandLine(IConfigurationBuilder, String[])

Origine:
CommandLineConfigurationExtensions.cs
Origine:
CommandLineConfigurationExtensions.cs
Origine:
CommandLineConfigurationExtensions.cs
Origine:
CommandLineConfigurationExtensions.cs

Aggiunge un oggetto CommandLineConfigurationProvider che legge i valori di configurazione dalla riga di 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

Parametri

configurationBuilder
IConfigurationBuilder

Oggetto IConfigurationBuilder in cui effettuare l'aggiunta.

args
String[]

Argomenti della riga di comando.

Restituisce

Oggetto IConfigurationBuilder.

Esempio

Un'applicazione console semplice con cinque valori.

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

Commenti

I valori passati nella riga di comando, nella args matrice di stringhe, devono essere un set di chiavi preceduti da due trattini ("--") e quindi valori separati dal segno di uguale ("=") o da uno spazio (" "). Una barra ("/") può essere usata come prefisso alternativo, con uguale o spazio. Quando si usa un segno di uguale, il prefisso può essere lasciato completamente.

Esistono cinque formati alternativi di base per gli argomenti:

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

Si applica a

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

Origine:
CommandLineConfigurationExtensions.cs
Origine:
CommandLineConfigurationExtensions.cs
Origine:
CommandLineConfigurationExtensions.cs
Origine:
CommandLineConfigurationExtensions.cs

Aggiunge un oggetto CommandLineConfigurationProvider che legge i valori di configurazione dalla riga di comando usando i mapping tra le opzioni specificati.

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

Parametri

configurationBuilder
IConfigurationBuilder

Oggetto IConfigurationBuilder in cui effettuare l'aggiunta.

args
String[]

Argomenti della riga di comando.

switchMappings
IDictionary<String,String>

Mapping tra le opzioni. Dizionario di chiavi brevi (con prefisso "-") e alias (con prefisso "--"), mappate alla chiave di configurazione (senza prefisso).

Restituisce

Oggetto IConfigurationBuilder.

Esempio

Un'applicazione console semplice con due mapping di commutatori alias brevi e quattro definiti.

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

Commenti

consente switchMappings di usare formati aggiuntivi per le chiavi short e alias alternative dalla riga di comando. Per i formati standard supportati, vedere la versione di base di AddCommandLine.

I tasti brevi iniziano con un singolo trattino ("-") e vengono mappati al nome della chiave principale (senza prefisso) e possono essere usati con uguale o spazio. I mapping con trattini singoli sono destinati all'uso per commutatori alternativi più brevi. Non è possibile accedere direttamente a un singolo commutatore trattino, ma deve essere definito e accessibile un mapping switch usando la chiave completa. Il passaggio di un argomento con trattino singolo non definito causerà un oggetto FormatException.

Esistono due formati per gli argomenti brevi: -k1=value1 e -k2 value2.

Le definizioni di chiave alias iniziano con due trattini ("--") e vengono mappate al nome della chiave principale (senza prefisso) e possono essere usate al posto della chiave normale. Funzionano anche quando viene usato un prefisso barra nella riga di comando (ma non con il prefisso uguale al formato).

Esistono solo quattro formati per gli argomenti con alias:

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

Si applica a