Net Core 2.0 установить Windows Service - PullRequest
0 голосов
/ 26 апреля 2018

После установки пакета nuget Microsoft.AspNetCore.Hosting.WindowsServices 2.0 Он не работает, поскольку этот пакет был создан только для 4.6.1

Я установил 2.1.0-preview2-final.

Хорошо, с host.RunAsService() он компилируется, но не работает, когда я запускаю его через cmd И у меня есть это сообщение:

Невозможно запустить службу из командной строки или отладчика. Windows Служба должна быть сначала установлена, а затем запущена с ServerExplorer, средство администрирования служб Windows или NET START команда.

Как установить мой проект в качестве службы Windows?

В этом посте Есть возможность размещения приложения ASP.NET Core 2 Web API NET Core 2 в Windows Service с таргетингом , мне не помогает.

И это инструмент третьей части, это накладные расходы.

Ответы [ 2 ]

0 голосов
/ 30 мая 2018

Я нашел решение.

Я обновил net core до 2.1, затем опубликовал свое приложение как переносимое для x86. После публикации в пути был exe !!! Тогда я начал cmd line

SC create [Name] binpath="[pathtoexe\app.exe]"

А потом я начал как обычную службу Windows.

PROFIT !!!

0 голосов
/ 04 мая 2018

Вы можете использовать PowerShell для установки службы Windows. Просто откройте командную строку с повышенными привилегиями, перейдите в папку, где находится исполняемый файл вашей основной службы .net, и введите:

sc.exe create "My Service" binPath= (Resolve-Path .\MyService.exe)

Я всегда делаю автономный пакет развертывания для своих основных служб .net, поэтому я просто заархивирую опубликованную папку, скопирую ее на целевой сервер, разархивирую, а затем установлю, как указано выше. После этого My Service служба должна появиться в оснастке MMC «Службы», откуда вы можете ее запустить или, оставаясь в PowerShell, вы можете запустить ее:

Start-Service -Name "My Service"

Надеюсь, это поможет!

...