如何在.NET应用程序中以编程方式更改应用程序类型?

时间:2014-07-03 19:13:20

标签: .net visual-studio

程序需要几种依赖于参数的模式:

  • 测试模式 - 跟踪需要控制台窗口
  • 普通模式需要Windows窗体GUI

我可以使用应用程序类型构建应用程序:控制台应用程序(为应用程序提供控制台窗口)和 Windows窗体应用程序(缺少控制台)窗口)。没有应用程序类型满足我的要求。如果我将应用程序构建为控制台应用程序,那么Windows窗体GUI就存在无用的控制台窗口如果我将应用程序构建为Windows窗体应用程序 - 没有控制台窗口,我无法观察控制台跟踪。

我想我应该重定向控制台输出并构建应用程序作为Windows窗体应用程序,但我可以简单地以编程方式切换应用程序类型(显示或隐藏控制台窗口本身吗?)

提前谢谢!

1 个答案:

答案 0 :(得分:0)

正如我和其他人在评论中提到的那样,您应该将跟踪发送到您在调试窗口中显示的日志或字符串,从而无需控制台。

但是,如果您真的想这样做,可以将csproj文件中的<OutputType>WinExe</OutputType>更改为<OutputType>Exe</OutputType>。这将运行您的WinForms项目,并弹出一个控制台窗口。

看起来您可以将csproj配置为具有不同的OutputType,具体取决于它在哪种模式下运行: Changing csproj OutputType based on project configuration