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