有没有办法用.NET Core开发一个Windows服务(能够启动等…)?
我找到的所有教程和说明都使用System.ServiceProcess.ServiceBase,在Visual Studio 2015中由于某些原因无法找到并添加它?
我也尽量避免使用像SrvStart这样的第三方工具/库.像Topshelf这样的东西是可以接受的,但似乎不适用于.NET核心.
如果服务可以在windows和linux下运行,那将会很棒.
我有什么想法可以达到这个目的吗?
我将总结一些选择:
>将代码移动到.NET标准库中,并将其托管在.NET Framework应用程序中,以便您可以使用ServiceBase.这当然需要在目标机器上安装.NET Framework
>使用NSSM(非吸吮服务管理器)管理.NET Core控制台应用程序(它具有公共域许可证)
>使用Windows API调用挂钩到Windows服务方法.这是DotNetCore.WindowsService和dotnet-win32-service采用的方法(均为麻省理工学院许可)