Я не уверен, в чем проблема, когда вы говорите, что он «работает в фоновом режиме».
Но если вы хотите запустить отдельный процесс, который продолжает работать, даже если вы закрываете первое приложение и что оно НЕ является потомком первого процесса ....
Тогда вы можете сделать что-то вроде этого:
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 добавьте Console.ReadLine в конце метода Main, чтобы он действительно оставался открытым. В противном случае он немедленно закроется.
Когда вы отлаживаете, Visual Studio сохраняет консольное приложение работающим, но это просто настройка в:
Инструменты-> Отладка-> Общие -> Автоматически закрывать консоль при отладке останавливается
Но когда приложение развертывается или вызывается из другого приложения, оно закрывается, как только метод Main завершен.