.net core 是否可以使用Visual Studio for Mac创建Windows服务?

.net core 是否可以使用Visual Studio for Mac创建Windows服务?,.net-core,windows-services,visual-studio-mac,.net Core,Windows Services,Visual Studio Mac,我目前正在使用Visual Studio for Mac,我需要创建一个后台运行的服务应用程序。我意识到我唯一的选择是VS Mac中的控制台应用程序。当部署到Windows服务器或Linux服务器中的守护进程时,我将创建的exe应作为Windows服务运行 用网核能做到这一点吗?是否可以使用Visual Studio for Mac创建跨平台服务流程?可以。使用.NETCore3.1,您可以使用“WorkerService”模板创建项目。然后安装Microsoft.extensions.Host

我目前正在使用Visual Studio for Mac,我需要创建一个后台运行的服务应用程序。我意识到我唯一的选择是VS Mac中的控制台应用程序。当部署到Windows服务器或Linux服务器中的守护进程时,我将创建的exe应作为Windows服务运行


用网核能做到这一点吗?是否可以使用Visual Studio for Mac创建跨平台服务流程?

可以。使用.NETCore3.1,您可以使用“WorkerService”模板创建项目。然后安装Microsoft.extensions.Hosting.WindowsServicenuget软件包,并将
UseWindowsService()
添加到
CreateHostBuilder
方法中


你可以在这篇文章中看到一个更详细的答案:

,所以基本上,是的,你可以这样回答问题。这两个链接显示了@thus和我已经知道的东西——你可以在MacOS上编写Windows应用程序,它可以在任何一个操作系统上运行。它没有回答您是否可以在Visual Studio for Mac中创建Windows服务。具体来说,您提供的第一个链接是“Visual Studio for Mac不支持Windows窗体、WPF或UWP等Windows客户端项目”。它没有提到任何有关Windows服务应用程序的内容,但从逻辑上讲,我可以看出这可能是一个问题。我还没有找到解决方案。我记得大约一年前我问过这个问题,当时.NETCore没有这个问题。我的解决方案是使用Topshelf,它救了我。谢谢你的回答。我没有测试/集成您建议的.Net Core 3.1解决方案,但我会接受您的回答。我确信它比Topshelf更容易使用。几周前,我从Topshelf切换到使用.Net Core的原生方法,这只是配置上的一行。我有两个项目:一个用于Windows服务,第二个用于Linux上的Deamon,逻辑在单独的项目中。它工作得很好。