无论出于何种原因,当我尝试调用我正在编写的 C# 程序并尝试在命令行中使用“--”传递两个参数时,PowerShell 不会使用我的命令行调用该程序。
例如,我提供命令行:
.\abc.exe foo.txt -- bar --
当我调用它时,C# 程序的 main 只获取命令行参数:
foo.txt bar --
代替
foo.txt -- bar --
正如预期的那样。
为什么会发生这种情况?
顺便说一句,如果我称之为:
.\abc.exe foo.txt '--' bar '--'
它按预期工作。
此外,将其称为:
& .\abc.exe foo.txt -- bar --
似乎没有帮助。
我认为这是 PowerShell 怪异的原因是,如果我从 CMD.EXE 运行相同的命令行,一切都会按预期工作。