我需要在Windows机器上创建Windows服务,但系统只有.NET Core 2.0。 Windows兼容包现在支持System.ServiceProcess.ServiceBase,因此这应该是可能的。我已经为WCP安装了NuGet包,但是如何开始开发服务却不知所措。
在.NET Framework中,有一个用于创建初始服务框架的向导,我已经使用过。但是,我不确定如何(1)使用WCP从头开始创建新的.net核心服务,或者(2)获取.net Framework服务并将其转换为使用.net核心 - 没有在Project属性中重新定位的方法。
我尝试通过编辑appconfig来引用netcoreapp2.0来强制重新定位,但该项目仍然引用.net框架程序集。
该软件包是Microsoft.Windows.Compatibility -Version 2.0.0-preview2-26406-04
我对此有点新意,并希望得到任何建议。
答案 0 :(得分:0)
很幸运,我最近在just this subject上写了一篇博客文章。
基本上:
将应用程序创建为.Net Core控制台应用程序。
安装Windows兼容包(NotificationCenter.default.addObserver(vc1, selector: #selector(vc1.handleEventDataChange), name: .eventDataChanged, object: nil)
)。
通过从ServiceBase(Install-Package Microsoft.Windows.Compatibility
)继承来创建服务。
在控制台应用程序的Main方法中,只需实例化服务并调用运行class TestSevice : ServiceBase
)。
要安装它,请使用sc.exe。