【问题标题】:Can a C# Console App Contain Multiple Sub or Child Console Apps?C# 控制台应用程序可以包含多个子控制台应用程序吗?
【发布时间】:2020-06-25 14:18:15
【问题描述】:

我不确定我要做的事情是否可行。我不是 C# 大师,但我设法谋生。多年来,我编写并积累了数十个控制台应用程序,这些应用程序执行原本乏味的任务。从清理 SQL Server 数据库中的垃圾数据、更改已定义目录中的文件名、创建 zip 存档和发送电子邮件等一切。

大多数应用程序都是基于 .Net Framework 4.7 构建的。我想知道是否有一种方法可以将所有这些应用程序组合到一个控制台应用程序中?我希望它具有某种可用命令菜单以及每个命令及其参数的描述性帮助部分。

我可以这样做吗?有什么教程浮现在脑海中?谢谢!

【问题讨论】:

  • 这是一个非常广泛和主观的问题。您可以组合应用程序,可以将 .exe 链接到一个新应用程序(毕竟它们只是可执行的 DLL)并调用它们的主要功能,甚至无需重新编译现有工具。然后构建您的新应用程序以获得菜单和帮助。

标签: c# .net console console-application


【解决方案1】:

您可以在 VS 的解决方案资源管理器中右键单击解决方案并添加一个项目,然后在您的主程序中根据以下条件调用它们:

using (var process1 = new Process())
{
    process1.StartInfo.FileName = @"..\..\..\ConsoleApp1.exe";
    process1.Start();
}

using (var process2 = new Process())
{
    process2.StartInfo.FileName = @"..\..\..\ConsoleApp2.exe";
    process2.Start();
}

Console.WriteLine("We Just ran two console apps inside of a console app ;)");
Console.ReadKey();

【讨论】:

  • 我喜欢这个,但我想远离多个 .exe。也许将项目导入类库会起作用?然后我仍然必须解决能够返回主菜单的问题......
【解决方案2】:

为什么不使用并行和多任务而不是运行多应用程序? 您可以运行多任务。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-11-04
    • 1970-01-01
    • 1970-01-01
    • 2015-08-23
    • 1970-01-01
    • 2019-01-18
    • 2022-01-20
    • 1970-01-01
    相关资源
    最近更新 更多