CommandLineConfigurationExtensions.AddCommandLine Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Ü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>)
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);
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
Gilt für:
AddCommandLine(IConfigurationBuilder, String[])
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
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>)
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);
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
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