C# Net core 2.0安装windows服务

C# Net core 2.0安装windows服务,c#,windows-services,asp.net-core-2.0,nuget-package,C#,Windows Services,Asp.net Core 2.0,Nuget Package,安装nuget软件包Microsoft.AspNetCore.Hosting.WindowsServices 2.0后,该软件包不起作用,因为该软件包仅为4.6.1创建 我安装了2.1.0-preview2-final 好的,使用host.RunAsService()通过cmd启动时,它正在编译,但不工作 我有这个信息: 无法从命令行或调试器启动服务。窗户 必须首先安装服务,然后使用启动服务 ServerExplorer、Windows服务管理工具或NET START 指挥部 如何将我的项目安装

安装nuget软件包Microsoft.AspNetCore.Hosting.WindowsServices 2.0后,该软件包不起作用,因为该软件包仅为4.6.1创建

我安装了2.1.0-preview2-final

好的,使用
host.RunAsService()
通过cmd启动时,它正在编译,但不工作 我有这个信息:

无法从命令行或调试器启动服务。窗户 必须首先安装服务,然后使用启动服务 ServerExplorer、Windows服务管理工具或NET START 指挥部

如何将我的项目安装为Windows服务

这篇文章对我没有帮助


它是第三部分工具,它是开销。

您可以使用PowerShell安装windows服务。只需打开提升的powershell提示符,将cd放入.net核心服务可执行文件所在的文件夹,然后键入:

sc.exe create "My Service" binPath= (Resolve-Path .\MyService.exe)
我总是为我的.net核心服务制作一个自包含的部署包,所以我只需压缩已发布的文件夹,将其复制到目标服务器,解压缩,然后按上述方式安装即可。在此之后,
我的服务
服务应显示在服务MMC管理单元中,您可以从该管理单元启动服务,或者留在PowerShell中,您可以通过以下方式启动服务:

Start-Service -Name "My Service"
希望这有帮助

我找到了解决办法

我将NetCore更新为2.1,然后将我的应用程序发布为可移植的x86。 发布后在路径中是一个exe!!! 然后我开始了cmd线

SC create [Name] binpath="[pathtoexe\app.exe]"
然后我开始喜欢普通的windows服务


利润

它只能是dll。不更改项目文件中的4.6框架。包Microsoft.AspNetCore.Hosting.WindowsServices在编译时没有出现错误和警告我喜欢使用解析路径的方式,但括号中需要引号,而不是服务名称。