控制台应用程序无法正确解析具有空格的args

Ger*_*rre 5 .net c# console-application command-line-arguments

我创建了一个.NET控制台应用程序,它获取了一些命令行参数.

当我传递带有空格的args时,我使用引号来包含这些参数,这样它们就不会被cmd拆分:

C:\MyAppDir> MyApp argument1 "argument 2" "the third argument"
Run Code Online (Sandbox Code Playgroud)

如果我在Windows XP中执行该应用程序它工作正常:它有3个参数:

  • 自变量1
  • 论点2
  • 第三个论点

但是,如果我在Windows Server 2008中执行它似乎忽略了引号:它有6个参数:

  • 自变量1
  • "的说法
  • 2"
  • "的
  • 第三
  • 说法"

有什么想法吗?

注意:我使用此代码在Main开始执行时打印参数:

Console.WriteLine("Command line arguments:");
foreach (string arg in args)
{
    Console.WriteLine("# " + arg);
}
Run Code Online (Sandbox Code Playgroud)

eri*_*osg 8

确保您输入的字符确实是双引号".

也许这是一个看起来像它的角色.

我知道我的希腊语设置产生了"但它不是那样读的.