首页 > 解决方案 > 如何将控制台构建添加到 C# Windows 服务应用程序并显示控制台?

问题描述

我有一个项目,该项目最初在 Visual Studio 2019 中构建为 C# Windows 服务。我进行了更改,以有条件地将其编译为服务和控制台应用程序。我遇到的问题是,当应用程序在控制台模式下运行时,它作为后台进程运行并且从不显示控制台。是否有一些设置可以让它作为普通的控制台应用程序运行?

我知道应用程序确实在运行,因为当我调试它时,它会在收到数据包后停在我的断点处。

标签: c#visual-studio-2019

解决方案


我通常这样做:(无需有条件地编译)

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

推荐阅读