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 -Schnittstelle der CommandLineConfigurationProvider-Klasse hinzu, die Konfigurationswerte aus der Befehlszeile liest.

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

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

AddCommandLine(IConfigurationBuilder, Action<CommandLineConfigurationSource>)

Quelle:
CommandLineConfigurationExtensions.cs
Quelle:
CommandLineConfigurationExtensions.cs
Quelle:
CommandLineConfigurationExtensions.cs
Quelle:
CommandLineConfigurationExtensions.cs

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

Das IConfigurationBuilder.

Gilt für:

AddCommandLine(IConfigurationBuilder, String[])

Quelle:
CommandLineConfigurationExtensions.cs
Quelle:
CommandLineConfigurationExtensions.cs
Quelle:
CommandLineConfigurationExtensions.cs
Quelle:
CommandLineConfigurationExtensions.cs

Fügt eine -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

Das 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 werte, die an der Befehlszeile im Zeichenfolgenarray übergeben werden, sollten eine Gruppe von Schlüsseln sein, denen args zwei Bindestriche ("--") und dann Werte vorangestellt sind, die entweder durch das Gleichheitszeichen ("=") oder ein Leerzeichen (" ") getrennt sind. Ein Schrägstrich ("/") kann als alternatives Präfix verwendet werden, wobei entweder gleich oder leer ist. Bei Verwendung eines Gleichheitszeichens kann das Präfix ganz 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>)

Quelle:
CommandLineConfigurationExtensions.cs
Quelle:
CommandLineConfigurationExtensions.cs
Quelle:
CommandLineConfigurationExtensions.cs
Quelle:
CommandLineConfigurationExtensions.cs

Fügt eine -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

Das IConfigurationBuilder.

Beispiele

Eine einfache Konsolenanwendung, für die zwei kurze und vier Alias-Switchzuordnungen definiert sind.

// 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

Die switchMappings ermöglicht die Verwendung zusätzlicher Formate für alternative Kurz- und Aliastasten über die Befehlszeile. Die unterstützten Standardformate finden Sie in der Basisversion von AddCommandLine.

Kurze Schlüssel beginnen mit einem einzigen Bindestrich ("-") und werden dem Standard Schlüsselnamen (ohne Präfix) zugeordnet und können entweder gleich oder leer verwendet werden. Die Single-Strich-Mappings sollen für kürzere alternative Switches verwendet werden. Auf einen einzelnen Bindestrichschalter kann nicht direkt zugegriffen werden, es muss jedoch eine Switchzuordnung definiert sein, auf die mithilfe des vollständigen Schlüssels zugegriffen werden muss. Das Übergeben eines undefinierten Bindestricharguments führt zu einem FormatException.

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

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

Es gibt nur vier Formate für Aliasargumente:

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

Gilt für: