请参阅VSTO控制台输出,而不使用控制台应用程序

时间:2015-11-25 23:15:39

标签: visual-studio-2010 console-application

我一直试图逐步完成我发现的示例代码,其中大部分使用的是Console.WriteLine,除非我重新使用新的控制台应用程序,否则它似乎不起作用。如何在最初未设置为控制台应用程序的现有应用程序中进行此工作?

1 个答案:

答案 0 :(得分:6)

在VSTO应用程序中,您可能有一个不是"控制台启用的应用程序"应用。如果您的应用程序中没有控制台窗口,那么默认情况下,您使用Console.WriteLine()编写的字符串将被丢弃。

您应该使用其他功能:Debug.WriteLine(),而不是Console.WriteLine。这样,输出将在Visual Studio环境中可用(当应用程序以' debug'模式运行时):

  • 在"立即窗口"选项卡(Visual Studio =>菜单调试=> Windows =>立即)

  • 或在"输出"选项卡,当您选择" Debug"在组合框"显示"的输出(Visual Studio =>菜单视图=>其他Windows =>输出)

如果你绝对需要使用Console.WriteLine()(因为例如你的项目的第三方lib使用它),你可以用Console.SetOut覆盖这个函数的默认输出,它接受一个StreamWriter作为参数。例如,要在文件中输出日志,您可以放入应用程序启动:

logFile = new System.IO.StreamWriter("C:/myLogs.txt");
Console.SetOut(logFile);