无需附加Visual Studio进程,在客户端查看Console.WriteLine()输出
查看WPF应用中Console.WriteLine()输出的简便方案
不需要全部替换Console.WriteLine(),有几种简便方法可以在测试设备上查看其输出:
让WPF应用显示控制台窗口
默认WPF项目是Windows应用类型,不会弹出控制台。右键项目→属性→应用程序,将输出类型改为「控制台应用程序」。这样运行应用时会同时弹出控制台窗口,Console.WriteLine()的内容会实时显示在这里。测试完成后如果不需要控制台,再改回Windows应用类型即可。重定向Console输出到本地文件
在App.xaml.cs的OnStartup方法中添加代码,将Console输出写入应用目录下的日志文件,测试人员直接查看文件即可:using System.IO; using System; protected override void OnStartup(StartupEventArgs e) { base.OnStartup(e); var logFilePath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "console_output.log"); // 开启自动刷新确保日志实时写入 Console.SetOut(new StreamWriter(logFilePath) { AutoFlush = true }); }关联Console输出到Trace系统
通过添加ConsoleTraceListener,让Console.WriteLine()的输出也进入Trace管道,这样就能用TraceSpy等工具统一查看Debug、Trace和Console日志:
方法一:代码添加using System.Diagnostics; protected override void OnStartup(StartupEventArgs e) { base.OnStartup(e); Trace.Listeners.Add(new ConsoleTraceListener()); Trace.AutoFlush = true; }方法二:配置文件添加(App.config)
<configuration> <system.diagnostics> <trace autoflush="true"> <listeners> <add name="consoleTrace" type="System.Diagnostics.ConsoleTraceListener" /> </listeners> </trace> </system.diagnostics> </configuration>
以上三种方案都无需修改原有Console.WriteLine()的代码,可根据测试需求选择合适的方式。
内容的提问来源于stack exchange,提问作者user19856475
相关产品推荐
相关产品推荐

