为什么在Visual Studio Express中Console.Writeline和Console.Write不起作用?

217

我刚刚打开了一个控制台应用程序,并输入了:

Console.WriteLine("Test");

但是输出窗口没有显示这个。我使用Ctrl+W, O进入输出窗口。

但是当我运行程序时,什么也没显示出来。这是不是在Visual Studio 2010 Express中不支持的?


4
正如Leif所说,它会在你看到它之前消失。使用Console.ReadKey() - Xaqron
请参考https://dev59.com/fnM_5IYBdhLWcg3wXx5N#1583569,了解将控制台输出重定向到调试输出窗口的机制。 - yoyo
22个回答

2

解决方案资源管理器中右键单击项目,然后选择“清理”。

现在运行 - 按下F5键。

确保代码如下:

Console.WriteLine("TEST");
Console.ReadLine();

2

这里的所有答案对我都没有用! 这里大多数人都被困在Windows桌面应用程序 Consoleland 中。如果您是使用Visual Studio中的 ASP.NET web开发人员,并且没有看到任何控制台或调试文本,则可以按照以下步骤解决:

  1. 将以下两个测试粘贴到您的代码中,以便运行这两行。 这些是输出窗口的测试:

    System.Console.WriteLine($"hello console!");

    System.Diagnostics.Debug.WriteLine($"hello debugger!");

  2. 在Visual Studio中选择VIEW > OUTPUT。 在更改下面的两个设置后,您将在此输出窗口中看到上面的结果。

  3. 当未处于DEBUGGING状态时,在OUTPUT窗口顶部的“Show Output From”下选择:“YourProjectName - ASP.NET CORE Web Server”。 运行您的代码。 您应该会看到上面的“Console”文本。

  4. 当处于DEBUGGING状态时,在OUTPUT窗口顶部的“Show Output From”下选择:“Debugger”。 以调试模式运行您的代码。 您应该会看到上面的“Debug”文本。


1

转到调试菜单,选择选项并取消选中“将所有输出窗口文本重定向到立即窗口”


1
我找到了一个解决方法:
按下 Ctrl + Alt + I 或导航至 调试 选项卡 → 窗口立即
在你的代码中写入:
Trace.WriteLine("This is one of the workarounds");

Debug”选项卡在哪里?是哪个窗口/菜单? - Peter Mortensen
说实话,这对我有用!输出选项卡仍然为空,但即时窗口正在填充,甚至包括console.writeline。 - Mattia

1
如果你使用Ctrl-F5(不带调试启动),它会保留控制台窗口并显示一条消息“按任意键继续”。这是保持控制台窗口不关闭以便查看控制台输出的最简单方法。

0
如果您正在开发一个命令行应用程序,您也可以在代码末尾使用Console.ReadLine()来等待用户按下“Enter”键后再关闭控制台窗口,以便您可以读取输出。

0
Visual Studio 2017的“输出”窗口有一个名为“显示来自”的菜单,在我的情况下,ASP.NET Core Web Server是要选择的选项,以便查看输出结果。我遇到了这个问题,因为我将其设置为“构建”,所以在运行时我没有看到打印出的行。

0

将执行模式更改为“自托管”。在这种情况下,执行控制台将出现并显示所有消息。


0

Console.Writeline() 函数会在调试输出中显示(Debug => Windows => Output)。


7
不,System.Diagnostics.Debug.WriteLine 输出到 Debug => Windows => Output 而非 Console.WriteLine。 - Vitalii Korsakov
1
提问者正在使用控制台应用程序,其中Console.WriteLine()当然会写入控制台,这是黑色的应用程序窗口,看起来像DOS窗口。只有在不是控制台应用程序时,Console.WriteLine()才会写入调试输出窗口。 - Peter Huber
为什么?因为Console.WriteLine()只有在不是控制台应用程序时才会写入调试输出窗口。 - sydd

0
using System.Diagnostics;


Trace.WriteLine("This line will show on Output window"); 
Trace.Flush();

这适用于 Microsoft Team Explorer for Visual Studio 2013

请参考 microsoft.com


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接