Видя вывод консоли в Visual Studio 2010?

Я пишу простую программу на С# с некоторыми выходами (Console.WriteLine("...");). Проблема в том, что каждый раз, когда я запускаю ее, я не вижу выход программы в окне вывода.

Тег "output output" уже проверен, и я уже перенаправил все выходы в промежуточное окно, но безрезультатно.

Как включить просмотр выходных данных программы?

Я не думаю, что проблема связана с моим кодом. Я попытался запустить простую программу, которая просто выводит строку и readline "ala hello world", и я все еще не могу видеть какой-либо вывод. Проблема заключается либо в том, что я ищу выход в неправильном месте, либо в Visual Studio.

Метод debug.write также не работает.

Используя debug.write, все работает, хотя раньше этого не делалось. Либо что-то избило меня, прежде чем я перезапустил, или мне просто нужно сделать перерыв, в любом случае все хорошо. Спасибо всем за полезные комментарии =)

Ответ 1

Вы можете использовать метод System.Diagnostics.Debug.Write или System.Runtime.InteropServices для записи сообщений в окно вывода.

Ответ 2

Вот несколько вещей, которые нужно проверить:

  • Для console.Write/WriteLine ваше приложение должно быть консольным приложением. (щелкните правой кнопкой мыши проект в обозревателе решений, выберите Свойства и посмотрите на " Тип вывода" на вкладке "Приложение" - должно быть " Консольное приложение" (обратите внимание: если вам действительно нужно приложение Windows или библиотека классов, не изменяйте его в Консольное приложение, чтобы получить Console.WriteLine).

  • Вы можете использовать System.Diagnostics.Debug.WriteLine для записи в окно вывода (чтобы показать окно вывода в VS, получить Вид | Выход). Обратите внимание, что эти записи будут возникать только в сборке, где определен условный условный блок DEBUG (по умолчанию это отладочные сборки определяют это, а сборки релиза - нет)

  • Вы можете использовать System.Diagnostics.Trace.Writeline, если вы хотите писать настраиваемые "слушатели" в не-отладочных сборках. (по умолчанию это записывается в окно вывода в Visual Studio, как и Debug.Writeline)

Ответ 3

Добавьте Console.Read(); в конец вашей программы. Это заставит приложение закрываться, и вы можете увидеть его выход таким образом.

Это консольное приложение, которое я только что выкопал, который останавливается после обработки, но перед выходом:

class Program
{
    static void Main(string[] args)
    {
        DummyObjectList dol = new DummyObjectList(2);
        dol.Add(new DummyObject("test1", (Decimal)25.36));
        dol.Add(new DummyObject("test2", (Decimal)0.698));
        XmlSerializer dolxs = new XmlSerializer(typeof(DummyObjectList));
        dolxs.Serialize(Console.Out, dol);

        Console.WriteLine(string.Empty);
        Console.WriteLine(string.Empty);

        List<DummyObject> dolist = new List<DummyObject>(2);
        dolist.Add(new DummyObject("test1", (Decimal)25.36));
        dolist.Add(new DummyObject("test2", (Decimal)0.698));
        XmlSerializer dolistxs = new XmlSerializer(typeof(List<DummyObject>));
        dolistxs.Serialize(Console.Out, dolist);
        Console.Read(); //  <--- Right here
    }
}

В качестве альтернативы вы можете просто добавить точку останова на последней строке.

Ответ 4

Нажмите Ctrl + F5, чтобы запустить программу вместо F5.

Ответ 5

System.Diagnostics.Debug.WriteLine() будет работать, но вы должны искать нужное место для выхода. В Visual Studio 2010 в строке меню выберите Debug → Windows → Output. Теперь в нижней части экрана, закрепленного рядом с вашим списком ошибок, должна быть вкладка вывода. Нажмите его и дважды проверьте, показывает ли он результат из потока отладки в раскрывающемся списке.

P.S.: Я думаю, что окно вывода отображается на новой установке, но я не могу вспомнить. Если это не так, или если вы случайно его закрыли, следуйте этим инструкциям.

Ответ 6

Чтобы открывать консоль Windows и не использовать другие методы вывода, а не стандартный выходной поток cout, перейдите в Name-of-your-project → Properties → Linker → System.

После этого выберите вкладку SubSytem и отметьте Консоль (/SUBSYSTEM: CONSOLE). Как только вы это сделаете, всякий раз, когда вы хотите скомпилировать, используйте Ctrl + F5 (запуск без отладки), и ваша консоль будет открыта.:)

Ответ 7

Я часто сталкивался с этим по какой-то причине, и я не могу понять, почему это решение не упоминалось:

Нажмите "Просмотр" → "Выход" (или просто удерживайте Ctrl и нажмите "W > O" )

Затем отображается консольный вывод, где отображаются ваши окна "Список ошибок", "Локали" и "Смотреть".

Примечание. Я использую Visual Studio 2015.

Ответ 8

В Program.cs между:

static int Main(string[] agrs)
{

и остальную часть вашего кода добавьте:

#if DEBUG
    int rtn = Main2(args);
    Console.WriteLine("return " + rtn);
    Console.WriteLine("ENTER to continue.");
    Console.Read();
    return rtn;
}

static int Main2(string[] args)
{
#endif

Ответ 9

Вы можете создать два небольших метода, один из которых можно вызвать в начале программы, а другой - в конце. Вы также можете использовать Console.Read(), чтобы программа не закрывалась после последней строки записи.

Таким образом вы можете определить, когда выполняются ваши функции, а также когда программа существует.

startProgram()
{
     Console.WriteLine("-------Program starts--------");
     Console.Read();
}


endProgram()
{
    Console.WriteLine("-------Program Ends--------");
    Console.Read();
}