C# 应用程序在“后”后台运行;Process.Start";。如何解决这个问题?

C# 应用程序在“后”后台运行;Process.Start";。如何解决这个问题?,c#,.net-core,C#,.net Core,我有一个.NetCore 3.0控制台应用程序,当单击“App.exe”时,该应用程序会正常启动。 但是,当我通过“Process.Start”(“C:\App\App.exe”)调用它时,它是在后台运行的。 如何解决这个问题 private static void Init_App() { try { Process.Start("C:\\App\\App.exe");

我有一个.NetCore 3.0控制台应用程序,当单击“App.exe”时,该应用程序会正常启动。
但是,当我通过“Process.Start”(“C:\App\App.exe”)调用它时,它是在后台运行的。
如何解决这个问题

private static void Init_App()
         {
            try
            {
                Process.Start("C:\\App\\App.exe");

            }
            catch (Exception e)
            {
                Console.WriteLine("Err - " + e.Message);
            }
         }

当你说它“在后台运行”时,我不确定问题出在哪里

但是如果你想运行一个单独的进程,即使你关闭了第一个应用程序,并且它不是第一个进程的子进程,它也会继续运行

然后你可以这样做:

    static void Main(string[] args)
    {
        var info = new ProcessStartInfo
        {
            UseShellExecute = true,
            FileName = @"C:\App\App.exe",//this app also needs a Console.ReadLine at the end of it's Main method.
            WindowStyle = ProcessWindowStyle.Normal
        };
        Process.Start(info);

        Console.ReadLine();
    }
还要记住,如果控制台应用程序退出Main方法,它们会很快关闭。 因此,在您的App.exe中,在Main方法的末尾添加一个Console.ReadLine,以便它实际上保持打开状态。否则它将立即关闭

调试时,visual studio会保持console应用程序运行,但这只是以下设置:

工具->调试->常规->调试停止时自动关闭控制台


但当应用程序被部署或从另一个应用程序调用时,它将在主方法完成后立即关闭。

它将在后台运行。是否要隐藏应用程序的UI?@eocron它将在后台运行是什么意思?它是一个单独的可执行文件,不是线程。它在后台运行是什么意思?它实际上关闭得相当快,而不是在后台运行吗?如果不在主方法末尾添加Console.ReadLine,控制台应用程序将关闭。。。。但由于Visual Studio具有调试设置,因此在调试时它们保持打开状态。。。因此,您需要做的可能是在App.exe控制台应用程序的主方法末尾添加Console.ReadLine,这样当您从另一个应用程序启动它时,它将保持不变open@MikailhP如果这解决了您的问题,请标记为已回答。非常感谢。