C# 应用程序在“后”后台运行;Process.Start";。如何解决这个问题?
我有一个.NetCore 3.0控制台应用程序,当单击“App.exe”时,该应用程序会正常启动。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");
但是,当我通过“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如果这解决了您的问题,请标记为已回答。非常感谢。