Как добавить сборку консоли в приложение-службу C # Windows и отобразить консоль?

#c# #visual-studio-2019

#c# #visual-studio-2019

Вопрос:

У меня есть проект, который изначально был создан как служба C # Windows в Visual Studio 2019. Я внес изменения, чтобы условно скомпилировать его как сервис, так и консольное приложение. Проблема, с которой я сталкиваюсь, заключается в том, что когда приложение запускается в консольном режиме, оно выполняется как фоновый процесс и никогда не показывает консоль. Есть ли какая-то настройка, при которой это будет запускаться как обычное консольное приложение?

Я знаю, что приложение действительно запущено, потому что, когда я его отлаживаю, оно останавливается в моих точках останова после получения пакета данных.

Комментарии:

1. У вас есть какой-нибудь код?

Ответ №1:

Обычно я делаю это: (нет необходимости в условной компиляции)

     static void Main(string[] args)
    {
        if (Environment.UserInteractive)
        {
            Service s = new Service();
            s.Start();
            while (true)
            {
                Thread.Sleep(10000);
            }
        }
        else
        {
            ServiceBase.Run(new ServiceClass());
        }
    }