出于学习目的,我正在用 c# 和 winforms 开发一个类生成应用程序。我认为包含允许在脚本中使用应用程序的命令行模式可能很好。
在我的应用程序中包含命令行模式是一个好习惯吗?最好有两个不同的程序,一个是命令行的 GUI 合二为一?
请您参考如下方法:
实际上,让 C# 应用程序既是控制台又是 GUI 是有问题的。控制台应用程序 ( /t:exe ) 启动,然后命令提示符等待它们完成。 GUI 应用程序 ( /t:winexe ) 命令 shell 启动它们然后立即返回。虽然您可以从“控制台”应用程序创建和运行表单,但它始终会显示一个后台控制台。另一方面,'Forms' 应用程序没有连接 stdin、stdout 和 stderr,虽然它们可以充当命令行工具并处理命令参数,但它们在嵌入到脚本中时会出现问题(因为标准输入/输出不是挂了)。
如果您也想从 GUI 驱动的应用程序和可脚本化/可管道化的批处理中公开功能,最好的方法是将您的功能编译到一个类库中,然后构建两个独立的应用程序(一个 GUI 一个控制台)来利用该库。




