コマンドラインの処理は同じである必要があります。したがって、何か他のことが起こります。私はこのしようとすると:それは私が100%の一貫性のある結果を得るための様々な場所から、その後
class Program {
[STAThread]
static void Main(String[] args) {
Console.WriteLine("Have {0} arguments", args.Length);
for (int i = 0; i < args.Length; ++i) {
Console.WriteLine("{0}: {1}", i, args[i]);
}
}
}
をして、引数を得るための唯一の方法は、「合併」は、具体的にそこにあるコマンドライン(上の引用符で囲むことですコマンドプロンプトから起動すると、時に別のチェックすることは難しいことができ渡されているかを確認することが容易になりますが
PS C:\...\bin\Debug> .\ConsoleApplication1.exe one two three
Have 3 arguments
0: one
1: two
2: three
PS C:\...\bin\Debug> pushd ..\release
PS C:\...\bin\Release> .\ConsoleApplication1.exe one two three
Have 3 arguments
0: one
1: two
2: three
PS C:\...\bin\Release> pushd ..\..\obj\debug
PS C:\...\obj\Debug> .\ConsoleApplication1.exe one two three
Have 3 arguments
0: one
1: two
2: three
PS C:\...\obj\Debug> pushd ..\release
PS C:\...\obj\Release> .\ConsoleApplication1.exe one two three
Have 3 arguments
0: one
1: two
2: three
PS C:\...\obj\Release> .\ConsoleApplication1.exe -file test.txt
Have 2 arguments
0: -file
1: test.txt
PS C:\...\obj\Release> .\ConsoleApplication1.exe "-file test.txt"
Have 1 arguments
0: -file test.txt
追加:あなたがスペースを含む引数を、下記の最後の例を参照)を持っていないようにしますアプリケーションがあなたのアプリケーションを起動します。しかし、Process Explorerのようなツールは、プログラムを起動するためのコマンドラインを表示します(プロセスをダブルクリックしてイメージタブを見てください)。
私は悪いです:私はちょうど私のインストーラのファイル形式のオープンコマンドが "-file {0}"私は引用符を削除する必要がありました.... –
おっと...簡単に行うことができないし、見つけにくい...直接実行されていない場合、実際に何が渡されているかを確認する方法にメモを追加します。 – Richard