Вот такой код по-разному ведет себя, если его запустить из-под отладчика и без отладки.
WriteLine(Environment.GetCommandLine()[1]);
Если в качестве первого параметра указать строку состоящую из кириллицы, то под отладчиком — все правильно считывается и выводится. Если запустить без отладки — то выводится мусор. При этом судя по-всему дело не в выводе, а именно в воде. Проверял под C# — в обоих случаях все вводится и выводится нормально.
Имелось ввиду Environment.GetCommandLineArgs ?
KK>Если в качестве первого параметра указать строку состоящую из кириллицы, то под отладчиком — все правильно считывается и выводится. Если запустить без отладки — то выводится мусор. При этом судя по-всему дело не в выводе, а именно в воде. Проверял под C# — в обоих случаях все вводится и выводится нормально.
У меня не проявляется.
А какая локаль в системе стоит ?
Здравствуйте, Аноним, Вы писали:
__>>У меня не проявляется. __>>А какая локаль в системе стоит ?
А>Везде стоит русский. Тем более в C# данный код работает нормально.
А если вывести в MessageBox то нормально пишет ?
Другой возможный вариант проверки, запустить вручную через Process.
Здравствуйте, _nn_, Вы писали:
__>Здравствуйте, Аноним, Вы писали:
__>>>У меня не проявляется. __>>>А какая локаль в системе стоит ?
А>>Везде стоит русский. Тем более в C# данный код работает нормально.
__>А если вывести в MessageBox то нормально пишет ?
__>Другой возможный вариант проверки, запустить вручную через Process.
WindowApplication работает нормально. Консольное приложение, запущенное из под отладчика(пункт меню Debug), либо запущенное из командной строки так же работает нормально. Но если запустить консольное приложение запущенное с помощью пункта меню Start without debug работает с ошибкой.
Здравствуйте, Ka3a4oK, Вы писали:
KK>WindowApplication работает нормально. Консольное приложение, запущенное из под отладчика(пункт меню Debug), либо запущенное из командной строки так же работает нормально. Но если запустить консольное приложение запущенное с помощью пункта меню Start without debug работает с ошибкой.
Теперь проявилось.
Процесс запускается неправильно (проверенно через process explorer):
Аргументы: абвгд
А вот строка запуска из студии:
"c:\test\nc\bin\Debug\nc.exe" ¦-¦-¦-¦¦¦+
Судя по всему баг интеграции.
Подозреваю происходит конвертирование строки перед вызовом консольной программы.
Здравствуйте, Ka3a4oK, Вы писали:
KK>WindowApplication работает нормально. Консольное приложение, запущенное из под отладчика(пункт меню Debug), либо запущенное из командной строки так же работает нормально. Но если запустить консольное приложение запущенное с помощью пункта меню Start without debug работает с ошибкой.
Пишите баг-репорт. Там батник создается и запускается. Видимо что-то не так с локалями при запуске процессов...
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.