【问题标题】:How to pass output of separate console window to Visual Studio output window?如何将单独控制台窗口的输出传递到 Visual Studio 输出窗口?
【发布时间】:2020-11-19 01:57:12
【问题描述】:

我正在用 C# 编写一个使用 OpenGL 绑定 (OpenGL.NET) 和 GLFW 库绑定的应用程序。 运行应用程序时,它会显示黑色控制台窗口,并使用它来显示所有控制台输出(Console.WriteLine 输出出现在这里)。

正常情况下,Visual Studio 输出窗口中不会显示任何内容。 我习惯于查看 Visual Studio 输出窗口,并且从未使用过一些出于任何原因创建自己的控制台/命令行的软件。 虽然这不是一个大问题,但令人恼火的是(在调试时)当我关闭我的应用程序时,那个单独的控制台中的所有输出都丢失了。

我确信这种情况与我提到的包含的第三方软件的软件架构/属性有关。

我的问题是:是否有可能以某种方式将控制台输出(如显示在单独控制台中的Console.WriteLine)传递/复制到 Visual Studio 的输出窗口?如果可能的话,该怎么做? 如果可能的话,我不希望使用不同的方法或功能将内容输出到控制台。所以避免改变我使用Console.WriteLine的每一行。

我正在使用 Visual Studio 2017。

【问题讨论】:

  • 我认为你可以使用Debug.WriteLine()System.Diagnostics命名空间来快速打印一条消息到IDE的输出窗口。
  • 如果有帮助,请告诉我们。
  • 您的回答对我有所帮助。谢谢。

标签: c# visual-studio visual-studio-2017 console visual-studio-debugging


【解决方案1】:

如何将单独控制台窗口的输出传递到 Visual Studio 输出 窗户?

您可以将Debug.WriteLine() 与 using namespace System.Diagnostics 一起使用,它将在输出窗口中输出信息。

没有其他简单的功能可以将信息从控制台窗口直接复制到输出窗口。只能手动使用Debug.Writeline() 添加您想要的任何信息。

注意:你应该使用Debug菜单下的Start Debugging,而不是Start without Debugging,然后你会在输出窗口上查看它们。

2) 另外,如果你使用Release配置或者使用其他非Debug配置运行您的项目,Debug.writeline() 将无法运行。

改为,您应该使用

 Trace.WriteLine();

,可以在Debug配置中使用。

换句话说,还是用它比较好。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-25
    • 1970-01-01
    • 2010-10-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多