不使用控制台应用程序查看VSTO控制台输出

6

我一直在尝试运行找到的示例代码,其中大部分使用Console.WriteLine,但除非我重新开始一个新的控制台应用程序,否则它似乎不起作用。我如何使其在不是最初设置为控制台应用程序的现有应用程序中工作?

1个回答

7
在VSTO应用程序中,您可能有一个不是“控制台启用”的应用程序。如果您的应用程序中没有控制台窗口,则默认情况下使用Console.WriteLine()写入的字符串将被简单地丢弃。
您应该使用另一个函数:Debug.WriteLine(),而不是Console.WriteLine。这样,在“调试”模式下运行应用程序时,输出将在Visual Studio环境中可用:
- 要么在“立即窗口”选项卡中(Visual Studio => 菜单 调试 => 窗口 => 立即) - 要么在“输出”选项卡中,当您在“显示来自”组合框中选择“调试”时(Visual Studio => 菜单 查看 => 其他窗口 => 输出)
如果您绝对需要使用Console.WriteLine()(例如,因为这是您项目的第三方库使用的),则可以使用Console.SetOut覆盖此函数的默认输出,它接受一个StreamWriter作为参数。例如,要将日志输出到文件中,您可以在应用程序启动时执行以下操作:
logFile = new System.IO.StreamWriter("C:/myLogs.txt");
Console.SetOut(logFile);

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