У меня есть утилита командной строки, которая получает довольно много загрузок с моего сайта. Я пытаюсь показать использование, когда пользователь использует /? или параметры справки. У меня есть функция ShowUsage (), которая имеет красиво отформатированный текст с доступными параметрами.
Я вижу, что ShowUsage () нормально вызывается из Visual Studio 2008, когда я использую параметры командной строки в свойствах проекта. Однако exe не отображает текст справки при запуске из командной строки. Вот сокращенная версия ShowUsage ():
private static void ShowUsage()
{
Console.WriteLine(Environment.NewLine);
Console.WriteLine("Text File Splitter v1.4.1 released: December 14, 2008");
Console.WriteLine("Copyright (C) 2007-2008 Hector Sosa, Jr");
Console.WriteLine("http://www.systemwidgets.com");
Console.WriteLine("");
}
Я пробовал кучу разных вещей из моих поисков в Google, но ни одна из них не работает. Я знаю, что это должно быть что-то простое / легкое, но для жизни я не могу понять это.
EDIT:
Код, который вызывает ShowUsage ():
if (!Equals(cmdargs["help"], null) || !Equals(cmdargs["?"], null))
{
ShowUsage();
}
У меня есть класс, который анализирует параметры в массиве cmdargs. Я подтвердил, что параметры находятся в массиве. Это что-то внутри ShowUsage (), которое мешает отображению текста.
Я собираюсь попробовать отладочный трюк и посмотреть, что я найду.
Я не использую Console.Out.
d03boy - просто личные предпочтения. Это делает текст менее загроможденным на экране, по крайней мере для меня.
РЕДАКТИРОВАТЬ # 2
Хорошо, еще немного информации ... Я использую VS2008 в Vista Ultimate 64 бит. Я просто проверяю свойства проекта, и для него установлено «Приложение Windows». Эта утилита является 32-разрядной.
Я собираюсь поэкспериментировать с созданием отдельного проекта в решении, которое является настоящей консольной программой, как советуют некоторые из вас.