Я создал консольное приложение .NET, которое получает некоторые аргументы командной строки.
Когда я передаю аргументы с пробелами, я заключаю эти аргументы в кавычки, чтобы они не разделялись cmd:
C:\MyAppDir> MyApp argument1 "argument 2" "the third argument"
Если я запускаю приложение в Windows XP, оно работает нормально: оно получает 3 аргумента:
Однако, если я выполняю его в Windows Server 2008, он, кажется, игнорирует кавычки: он получает 6 аргументов:
Есть идеи почему?
ПРИМЕЧАНИЕ. Я вывел аргументы сразу после запуска Main, используя этот код:
Console.WriteLine("Command line arguments:");
foreach (string arg in args)
{
Console.WriteLine("# " + arg);
}