能否在Visual Studio for Mac中创建Windows服务?

5

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

使用Net Core可以实现这一点吗?能否通过Visual Studio for Mac创建跨平台服务进程?


https://learn.microsoft.com/ro-ro/visualstudio/productinfo/vs2017-compatibility-mac#platform-targeting 和 https://stackify.com/cross-platform-net-core-apps/。基本上来说,你可以。 - ares777
这并没有回答问题。那两个链接展示了@thus和我已经知道的 - 你可以在MacOS上编写Windows应用程序,并且它将在任何一个操作系统上运行。但它没有回答是否可以在Visual Studio for Mac中创建Windows服务。具体来说,你提供的第一个链接说“Visual Studio for Mac不支持Windows客户端项目,如Windows Forms、WPF或UWP”。它没有提到Windows服务应用程序,但从逻辑上讲,我可以看出这可能是个问题。我还没有找到解决方案。 - aradil
1个回答

4

我记得大约一年前我问过这个问题,那时候 .Net Core 还没有这个功能。我的解决方案是使用 Topshelf,它帮了我很大的忙。感谢您的回答。我没有测试/集成您建议的 .Net Core 3.1 解决方案,但我会接受您的答案。我相信它比 Topshelf 更容易使用。 - thus
我几周前从Topshelf切换到使用.Net Core的本地方法,配置只需要一行代码。 我有两个项目:一个用于Windows服务,另一个用于Linux上的守护进程,逻辑在分离的项目中。 它运行得非常好。 - Jacek Labuda
那macOS呢?Systemd软件包适用于Linux,WindowsService软件包适用于Windows。那么在Mac上有类似的软件包吗? - undefined

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接