なんらかの理由で、作成中の C# プログラムを呼び出そうとすると、コマンド ラインで '--' を使用して 2 つの引数を渡そうとすると、PowerShell はコマンド ラインでプログラムを呼び出しません。
たとえば、次のコマンド ラインを提供しています。
.\abc.exe foo.txt -- bar --
これを呼び出すと、C# プログラムのメインはコマンド ライン引数のみを取得します。
foo.txt bar --
それ以外の
foo.txt -- bar --
予想通り。
なぜこれが起こるのでしょうか?
ところで、私がそれを次のように呼ぶと:
.\abc.exe foo.txt '--' bar '--'
期待どおりに動作します。
また、次のように呼び出します。
& .\abc.exe foo.txt -- bar --
役に立たないようです。
これが PowerShell の奇妙さだと考える理由は、CMD.EXE から同じコマンド ラインを実行すると、すべてが期待どおりに機能するからです。