【发布时间】:2014-07-03 19:13:19
【问题描述】:
程序需要几种依赖于参数的模式:
- 测试模式 - 跟踪需要控制台窗口
- 普通模式需要 Windows 窗体 GUI
我可以用 Application Type 构建应用程序:Console Application(为应用程序提供控制台窗口)和 Windows Forms Application(缺少控制台窗户)。没有应用程序类型满足我的要求。如果我将应用程序构建为控制台应用程序,则 Windows 窗体 GUI 中存在无用的控制台窗口。如果我将应用程序构建为 Windows 窗体应用程序 - 没有控制台窗口,我无法观察控制台跟踪。
我想我应该重定向控制台输出并将应用程序构建为 Windows 窗体应用程序,但我可以简单地以编程方式切换 应用程序类型(显示或隐藏控制台窗口本身?)
提前感谢您!
【问题讨论】:
-
如果您的跟踪要输出到标准输出,您可以将它们重定向到您在调试窗口中显示的日志或字符串中,从而无需控制台。
-
为什么不简单地将输出窗口添加到您的图形应用程序?然后您可以获得更好的复制和粘贴,以及您可能想要对文本执行的其他操作(如搜索或其他)。如果您想在生产中隐藏它,只要您没有运行调试配置,就不要添加任何显示该窗口的 UI 控件。如果它是您想要的文件输出,只需在您的应用程序中创建一个开关,当它在调试下编译时,它会在众所周知的位置发出一个跟踪日志文件。
-
为什么需要控制台应用程序进行测试。为什么不直接使用测试框架进行测试,例如 NUnit?
-
@Arsham,当程序测试它的当前环境时,测试是模式。测试数据库连接,测试硬件密钥是否存在,测试其他外部系统依赖项。仅供管理员使用
标签: .net visual-studio