CommandLineConfigurationExtensions.AddCommandLine Methode

Definition

Überlädt

AddCommandLine(IConfigurationBuilder, Action<CommandLineConfigurationSource>)

Fügt eine IConfigurationProvider-Schnittstelle hinzu, die Konfigurationswerte aus der Befehlszeile liest.

AddCommandLine(IConfigurationBuilder, String[])

Fügt eine IConfigurationProvider-Schnittstelle der CommandLineConfigurationProvider-Klasse hinzu, die Konfigurationswerte aus der Befehlszeile liest.

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

Fügt eine IConfigurationProvider-Schnittstelle der CommandLineConfigurationProvider-Klasse hinzu, die mithilfe der angegebenen Optionszuordnungen Konfigurationswerte aus der Befehlszeile liest.

AddCommandLine(IConfigurationBuilder, Action<CommandLineConfigurationSource>)

Fügt eine IConfigurationProvider-Schnittstelle hinzu, die Konfigurationswerte aus der Befehlszeile liest.

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);
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

Parameter

builder
IConfigurationBuilder

Die IConfigurationBuilder-Schnittstelle, der etwas hinzugefügt werden soll.

configureSource
Action<CommandLineConfigurationSource>

Konfiguriert die Quelle.

Gibt zurück

IConfigurationBuilder

Die IConfigurationBuilder.

Gilt für:

AddCommandLine(IConfigurationBuilder, String[])

Fügt eine IConfigurationProvider-Schnittstelle der CommandLineConfigurationProvider-Klasse hinzu, die Konfigurationswerte aus der Befehlszeile liest.

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

Parameter

configurationBuilder
IConfigurationBuilder

Die IConfigurationBuilder-Schnittstelle, der etwas hinzugefügt werden soll.

args
String[]

Die Befehlszeilenargumente.

Gibt zurück

IConfigurationBuilder

Die IConfigurationBuilder.

Beispiele

Eine einfache Konsolenanwendung mit fünf Werten.

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

Hinweise

Die an die Befehlszeile übergebenen Werte in der args Zeichenfolgenarray sollten eine Reihe von Schlüsseln sein, die mit zwei Strichen ("--") vorangestellt sind, und dann werte, getrennt durch das Gleichheitszeichen ("=") oder ein Leerzeichen (" "). Ein Schrägstrich ("/") kann als alternatives Präfix verwendet werden, wobei entweder gleich oder leer ist. Wenn Sie ein Gleichheitszeichen verwenden, kann das Präfix vollständig weggelassen werden.

Es gibt fünf grundlegende alternative Formate für Argumente:

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

Gilt für:

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

Fügt eine IConfigurationProvider-Schnittstelle der CommandLineConfigurationProvider-Klasse hinzu, die mithilfe der angegebenen Optionszuordnungen Konfigurationswerte aus der Befehlszeile liest.

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);
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

Parameter

configurationBuilder
IConfigurationBuilder

Die IConfigurationBuilder-Schnittstelle, der etwas hinzugefügt werden soll.

args
String[]

Die Befehlszeilenargumente.

switchMappings
IDictionary<String,String>

Die Schalterzuordnungen. Ein Wörterbuch mit Abkürzungen (mit dem Präfix „-“) und Aliasschlüsseln (mit dem Präfix „--“), das dem Konfigurationsschlüssel (ohne Präfix) zugeordnet ist.

Gibt zurück

IConfigurationBuilder

Die IConfigurationBuilder.

Beispiele

Eine einfache Konsolenanwendung, die zwei kurze und vier Alias-Switch-Zuordnungen definiert hat.

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

Hinweise

Dies switchMappings ermöglicht zusätzliche Formate für alternative Kurz- und Aliastasten, die über die Befehlszeile verwendet werden können. Informationen zu den unterstützten Standardformaten finden Sie in der Standardversion von AddCommandLine.

Kurze Tasten beginnen mit einem einzigen Strich ("-") und werden dem Hauptschlüsselnamen (ohne Präfix) zugeordnet und können entweder mit gleich oder leer verwendet werden. Die Single-Strich-Zuordnungen sollen für kürzere alternative Schalter verwendet werden. Auf einen einzelnen Strichschalter kann nicht direkt zugegriffen werden, muss jedoch eine Switchzuordnung definiert und über den vollständigen Schlüssel zugegriffen werden. Durch das Übergeben eines nicht definierten Einstricharguments wird ein FormatException.

Es gibt zwei Formate für kurze Argumente: -k1=value1 und -k2 value2.

Aliasschlüsseldefinitionen beginnen mit zwei Strichen ("--") und werden dem Hauptschlüsselnamen (ohne Präfix) zugeordnet und können anstelle des normalen Schlüssels verwendet werden. Sie funktionieren auch, wenn ein Schrägstrichpräfix in der Befehlszeile verwendet wird (aber nicht mit dem Präfix gleich Format).

Es gibt nur vier Formate für aliasierte Argumente:

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

Gilt für: