CommandLineConfigurationExtensions.AddCommandLine 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
多載
| 名稱 | Description |
|---|---|
| AddCommandLine(IConfigurationBuilder, Action<CommandLineConfigurationSource>) |
新增一個 IConfigurationProvider 從命令列讀取設定值的設定值。 |
| AddCommandLine(IConfigurationBuilder, String[]) |
新增一個 CommandLineConfigurationProviderIConfigurationProvider 從命令列讀取設定值的 a。 |
| AddCommandLine(IConfigurationBuilder, String[], IDictionary<String,String>) |
新增一個 CommandLineConfigurationProviderIConfigurationProvider ,利用指定的交換器映射從命令列讀取設定值。 |
AddCommandLine(IConfigurationBuilder, Action<CommandLineConfigurationSource>)
新增一個 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);
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
- configureSource
- Action<CommandLineConfigurationSource>
設定來源。
傳回
適用於
AddCommandLine(IConfigurationBuilder, String[])
新增一個 CommandLineConfigurationProviderIConfigurationProvider 從命令列讀取設定值的 a。
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
- args
- String[]
命令列 args。
傳回
範例
一個簡單的主控台應用程式,有五個數值。
// 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>)
新增一個 CommandLineConfigurationProviderIConfigurationProvider ,利用指定的交換器映射從命令列讀取設定值。
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
參數
- configurationBuilder
- IConfigurationBuilder
- args
- String[]
命令列 args。
- switchMappings
- IDictionary<String,String>
開關映射。 一個由短鍵(前綴為「-」)與別名鍵(前綴為「--」)組成的字典,映射到配置鍵(無前綴)。
傳回
範例
一個簡單的主控台應用程式,定義了兩個短距離與四個別名切換映射。
// 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
短論點有兩種格式: -k1=value1 -k2 value2。
別名鍵定義以兩個破折號(“--”)開頭,並映射到主鍵名稱(無前綴),可替代一般鍵。 當命令列中使用斜線前綴時(但不適用於無前綴等於格式)時,它們也能運作。
別名參數只有四種格式: --alt3=value3 /alt4=value4 --alt5 value5 /alt6 value6。