Share via


CommandLineConfigurationExtensions.AddCommandLine Metode

Definisi

Overload

AddCommandLine(IConfigurationBuilder, Action<CommandLineConfigurationSource>)

Menambahkan yang IConfigurationProvider membaca nilai konfigurasi dari baris perintah.

AddCommandLine(IConfigurationBuilder, String[])

CommandLineConfigurationProvider Menambahkan yang membaca nilai konfigurasi dari baris perintah.

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

CommandLineConfigurationProvider Menambahkan yang membaca nilai konfigurasi dari baris perintah menggunakan pemetaan sakelar yang ditentukan.

AddCommandLine(IConfigurationBuilder, Action<CommandLineConfigurationSource>)

Sumber:
CommandLineConfigurationExtensions.cs
Sumber:
CommandLineConfigurationExtensions.cs
Sumber:
CommandLineConfigurationExtensions.cs
Sumber:
CommandLineConfigurationExtensions.cs

Menambahkan yang IConfigurationProvider membaca nilai konfigurasi dari baris perintah.

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

yang IConfigurationBuilder akan ditambahkan ke.

configureSource
Action<CommandLineConfigurationSource>

Mengonfigurasi sumber.

Mengembalikan

IConfigurationBuilder.

Berlaku untuk

AddCommandLine(IConfigurationBuilder, String[])

Sumber:
CommandLineConfigurationExtensions.cs
Sumber:
CommandLineConfigurationExtensions.cs
Sumber:
CommandLineConfigurationExtensions.cs
Sumber:
CommandLineConfigurationExtensions.cs

CommandLineConfigurationProvider Menambahkan yang membaca nilai konfigurasi dari baris perintah.

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

yang IConfigurationBuilder akan ditambahkan ke.

args
String[]

Baris perintah argumen.

Mengembalikan

IConfigurationBuilder.

Contoh

Aplikasi konsol sederhana yang memiliki lima nilai.

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

Keterangan

Nilai yang diteruskan pada baris perintah, dalam array string, harus berupa sekumpulan kunci yang diawali dengan dua tanda hubung ("--") lalu nilai, dipisahkan args dengan tanda sama dengan ("=") atau spasi (" "). Garis miring ("/") dapat digunakan sebagai awalan alternatif, dengan sama dengan atau spasi. Saat menggunakan tanda sama dengan, awalan dapat dibiarkan sama sekali.

Ada lima format alternatif dasar untuk argumen:

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

Berlaku untuk

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

Sumber:
CommandLineConfigurationExtensions.cs
Sumber:
CommandLineConfigurationExtensions.cs
Sumber:
CommandLineConfigurationExtensions.cs
Sumber:
CommandLineConfigurationExtensions.cs

CommandLineConfigurationProvider Menambahkan yang membaca nilai konfigurasi dari baris perintah menggunakan pemetaan sakelar yang ditentukan.

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

yang IConfigurationBuilder akan ditambahkan ke.

args
String[]

Baris perintah argumen.

switchMappings
IDictionary<String,String>

Pemetaan sakelar. Kamus pendek (dengan awalan "-") dan kunci alias (dengan awalan "--"), dipetakan ke kunci konfigurasi (tanpa awalan).

Mengembalikan

IConfigurationBuilder.

Contoh

Aplikasi konsol sederhana yang memiliki dua pemetaan sakelar alias pendek dan empat yang ditentukan.

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

Keterangan

switchMappings memungkinkan format tambahan untuk kunci pendek dan alias alternatif untuk digunakan dari baris perintah. Untuk format standar yang didukung, lihat versi AddCommandLinedasar .

Kunci pendek dimulai dengan tanda hubung tunggal ("-") dan dipetakan ke nama kunci utama (tanpa awalan), dan dapat digunakan dengan sama dengan atau spasi. Pemetaan tanda hubung tunggal dimaksudkan untuk digunakan untuk sakelar alternatif yang lebih pendek. Sakelar tanda hubung tunggal tidak dapat diakses secara langsung, tetapi harus memiliki pemetaan sakelar yang ditentukan dan diakses menggunakan kunci lengkap. Meneruskan argumen tanda hubung tunggal yang tidak ditentukan akan menyebabkan FormatException.

Ada dua format untuk argumen pendek: -k1=value1 dan -k2 value2.

Definisi kunci alias dimulai dengan dua tanda hubung ("--") dan dipetakan ke nama kunci utama (tanpa awalan), dan dapat digunakan sebagai pengganti kunci normal. Mereka juga berfungsi ketika awalan garis miring ke depan digunakan dalam baris perintah (tetapi tidak dengan format tanpa awalan sama dengan).

Hanya ada empat format untuk argumen alias:

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

Berlaku untuk