![]() |
1
1
命令行处理应该是相同的,因此正在进行其他操作。当我尝试这个的时候:
然后从不同的位置得到100%一致的结果,获得参数“合并”的唯一方法是在命令行中用引号括起来(特别是在命令行中允许您有包含空格的参数,请参见下面的最后一个示例): 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 将显示用于启动程序的命令行(双击进程并查看图像选项卡)。 |
![]() |
2
1
这在bin/debug、bin/release、obj/debug和obj/release中适用:
|
![]() |
3
0
你试过了吗? Environment.GetCommandLineArgs() ? |
![]() |
4
0
您的问题(正如Richard在代码中指出的那样)是,运行发布版本时的参数都包含在一组引号中。去掉引号,它就可以工作了。 |
![]() |
A B · C#Excel自动调整列避免长文本时出错 4 月前 |
![]() |
Megrez7 · C#ToArray转换合并为一行,导致数组元素更改 4 月前 |
![]() |
Aycon · 在工厂方法中释放部分创建的对象的正确方法是什么? 4 月前 |
|
Sei · Avalonia/WPF将路由器传递到控制模板 4 月前 |