如何将单独控制台 window 的输出传递给 Visual Studio 输出 window?

How to pass output of separate console window to Visual Studio output window?

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

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

我确定这种情况与我提到的包含的第三方软件的软件 architecture/properties 有关。

我的问题是: 是否有可能以某种方式 pass/copy 像 Console.WriteLine 这样出现在单独控制台中的控制台输出到输出 window 共 Visual Studio?如果可能的话,该怎么做? 如果可能的话,我不想使用不同的方法或功能将内容输出到控制台。所以避免更改我使用 Console.WriteLine.

的每一行

我正在使用 Visual Studio 2017.

How to pass output of separate console window to Visual Studio output window?

您可以将 Debug.WriteLine() 与使用命名空间 System.Diagnostics 一起使用,它将在输出 window.

上输出信息

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

注意:您应该使用 Debug 菜单下的 Start Debugging 而不是 从不调试开始然后你会在输出中看到它们window.

2) 此外,如果你使用Release配置或使用其他配置不调试到运行你的项目,Debug.writeline()将无法工作。

而不是,你应该使用

 Trace.WriteLine();

,可以在Debug配置中使用

也就是说,用起来比较好