CommandLineConfigurationExtensions.AddCommandLine 메서드

정의

오버로드

AddCommandLine(IConfigurationBuilder, Action<CommandLineConfigurationSource>)

명령줄에서 구성 값을 읽는 IConfigurationProvider를 추가합니다.

AddCommandLine(IConfigurationBuilder, String[])

명령줄에서 구성 값을 읽는 CommandLineConfigurationProvider를 추가합니다.

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

지정된 스위치 매핑을 사용하여 명령줄에서 구성 값을 읽는 CommandLineConfigurationProvider를 추가합니다.

AddCommandLine(IConfigurationBuilder, Action<CommandLineConfigurationSource>)

Source:
CommandLineConfigurationExtensions.cs
Source:
CommandLineConfigurationExtensions.cs
Source:
CommandLineConfigurationExtensions.cs
Source:
CommandLineConfigurationExtensions.cs

명령줄에서 구성 값을 읽는 IConfigurationProvider를 추가합니다.

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

매개 변수

builder
IConfigurationBuilder

추가할 IConfigurationBuilder입니다.

configureSource
Action<CommandLineConfigurationSource>

소스를 구성합니다.

반환

IConfigurationBuilder

적용 대상

AddCommandLine(IConfigurationBuilder, String[])

Source:
CommandLineConfigurationExtensions.cs
Source:
CommandLineConfigurationExtensions.cs
Source:
CommandLineConfigurationExtensions.cs
Source:
CommandLineConfigurationExtensions.cs

명령줄에서 구성 값을 읽는 CommandLineConfigurationProvider를 추가합니다.

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

매개 변수

configurationBuilder
IConfigurationBuilder

추가할 IConfigurationBuilder입니다.

args
String[]

명령줄 인수입니다.

반환

IConfigurationBuilder

예제

5개의 값이 있는 간단한 콘솔 애플리케이션입니다.

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

설명

문자열 배열의 명령줄 args 에 전달된 값은 두 개의 대시("--")가 접두사로 접두사로 지정된 키 집합이어야 하고 값은 등호("=") 또는 공백(" ")으로 구분되어야 합니다. 슬래시("/")는 같거나 공백이 있는 대체 접두사로 사용할 수 있습니다. 등호를 사용하는 경우 접두사를 모두 제외할 수 있습니다.

인수에는 다음과 같은 다섯 가지 기본 대체 형식이 있습니다.

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

적용 대상

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

Source:
CommandLineConfigurationExtensions.cs
Source:
CommandLineConfigurationExtensions.cs
Source:
CommandLineConfigurationExtensions.cs
Source:
CommandLineConfigurationExtensions.cs

지정된 스위치 매핑을 사용하여 명령줄에서 구성 값을 읽는 CommandLineConfigurationProvider를 추가합니다.

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

매개 변수

configurationBuilder
IConfigurationBuilder

추가할 IConfigurationBuilder입니다.

args
String[]

명령줄 인수입니다.

switchMappings
IDictionary<String,String>

스위치 매핑입니다. 구성 키(접두사 없음)에 매핑되는 짧은 키(접두사 “-” 사용) 및 별칭 키(접두사 “--” 사용) 디렉터리입니다.

반환

IConfigurationBuilder

예제

두 개의 짧은 별칭과 네 개의 별칭 스위치 매핑이 정의된 간단한 콘솔 애플리케이션입니다.

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

설명

switchMappings 명령줄에서 대체 짧은 및 별칭 키에 대한 추가 형식을 사용할 수 있도록 합니다. 지원되는 표준 형식은 의 기본 버전을 AddCommandLine참조하세요.

짧은 키는 단일 대시("-")로 시작하고 기본 키 이름(접두사 없음)에 매핑되며 같거나 공백으로 사용할 수 있습니다. 단일 대시 매핑은 더 짧은 대체 스위치에 사용됩니다. 단일 대시 스위치는 직접 액세스할 수 없지만 전체 키를 사용하여 스위치 매핑을 정의하고 액세스해야 합니다. 정의되지 않은 단일 대시 인수를 전달하면 가 발생합니다 FormatException.

짧은 인수에는 및 -k2 value2의 두 가지 형식이 -k1=value1 있습니다.

별칭 키 정의는 두 개의 대시("--")로 시작하고 기본 키 이름(접두사 없음)에 매핑되며 일반 키 대신 사용할 수 있습니다. 또한 명령줄에서 슬래시 접두사를 사용할 때도 작동합니다(접두사 없는 경우에는 형식과 같지 않음).

별칭이 지정된 인수에 대한 형식은 4개뿐입니다.

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

적용 대상