在Visual Studio 2010中查看控制台的输出?

r3x*_*r3x 163 c# visual-studio-2010 visual-studio

我正在编写一个带有一些输出(Console.WriteLine("...");)的简单C#程序.问题是,每次运行它时,我都无法在输出窗口中看到程序的输出.

已经检查了"程序输出"标签,我已经将所有输出重定向到中间窗口但无效.

如何启用查看程序的输出?

我认为问题不在于我的代码.我尝试运行一个简单的程序,只输出一个字符串和readline"ala hello world",我仍然无法看到任何输出.问题是我在错误的位置寻找输出或者Visual Studio表现出来.

debug.write方法也不起作用.

使用debug.Write,这一切都有效,尽管之前没有.在我重新开始之前,或者我需要休息一下,或者我需要休息,无论哪种方式,现在一切都很好.感谢所有有用的评论=)

Ric*_*ams 195

您可以使用System.Diagnostics.Debug.WriteSystem.Runtime.InteropServices方法将消息写入输出窗口.

  • System.Diagnostics.Debug.Write(如果OP没有播放中的命名空间) (10认同)
  • 啊,是的,我只是习惯于控制+期间:) (4认同)
  • 如果您的应用程序是控制台应用程序,您可以使用console.writeline打印到控制台窗口,或者如果您的应用程序是Windows窗体应用程序,则可以使用debug.write.查看此链接以获取更多信息http://social.msdn.microsoft.com/Forums/en/csharpgeneral/thread/701e02cc-ad77-46b9-b4fc-410bb3ff7a0d (2认同)

JMa*_*sch 50

以下是一些要检查的事项:

  1. 对于console.Write/WriteLine,您的应用必须是控制台应用程序.(在解决方案资源管理器中右键单击项目,选择" 属性",然后在" 应用程序"选项卡中查看" 输出类型 "组合 - 应该是" 控制台应用程序 "(注意,如果您确实需要Windows应用程序或类库,请注意不要将此更改为控制台应用程序以获取Console.WriteLine).

  2. 你可以System.Diagnostics.Debug.WriteLine用来写入输出窗口(在VS中显示输出窗口,得到View | Output)注意这些写操作只会发生在定义了DEBUG条件的构建中(默认情况下,调试构建定义了这个,并且发布版本不)

  3. 你可以使用System.Diagnostics.Trace.Writeline,如果你想成为能够写入配置的"听众"非调试版本.(默认情况下,这会写入Visual Studio中的输出窗口,就像Debug.Writeline)

  • 我没有看到我的输出,但后来意识到我必须在调试模式(F5)而不是Ctrl + Shift + F5中运行程序.谢谢! (2认同)

Vin*_*rgh 34

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
    }
}
Run Code Online (Sandbox Code Playgroud)

或者,您可以在最后一行添加断点.

  • 已经这样做了,不幸的是,nth改变了 (2认同)
  • Console.ReadLine也可以工作,只需按Enter键继续读取任何标准键. (2认同)

waq*_*med 21

Ctrl+ F5运行程序而不是F5.

  • 这对我有用; 我只想看看程序输出的是什么,控制台输出都没有显示出来.这导致它在运行后保持控制台窗口打开,所以我可以看到输出. (6认同)
  • Ctrl + F5 无需调试即可启动应用程序,这样您就不会在输出窗口中看到任何内容。 (2认同)

lor*_*eto 8

System.Diagnostics.Debug.WriteLine()会工作,但你必须在正确的地方寻找输出.在Visual Studio 2010中,在菜单栏上单击" 调试" - >" Windows" - >" 输出".现在,在错误列表旁边停靠的屏幕底部,应该有一个输出选项卡.单击它并仔细检查它是否显示下拉列表中调试流的输出.

PS:我认为输出窗口显示全新安装,但我不记得了.如果没有,或者您意外关闭它,请按照这些说明操作.