Topshelf и .net core под Linux - PullRequest
0 голосов
/ 25 июня 2019

У меня есть простое приложение, которое запускает службу с помощью topshelf и выглядит просто:

 HostFactory.Run(x =>
 {
    x.Service<RequestService>();
    x.RunAsLocalSystem();
 });

Ну, это работает, но под Windows, когда я попробовал это под Linux, я получаю:

Topshelf.Runtime.Windows.WindowsHostEnvironment Ошибка: 0: невозможно получить родительский процесс (игнорируется), System.DllNotFoundException: невозможно загрузить общую библиотеку 'kernel32.dll' или одну из ее зависимостей. Чтобы помочь диагностировать проблемы с загрузкой, рассмотрите возможность установки переменной среды LD_DEBUG: libkernel32.dll: невозможно открыть общий объектный файл: такого файла или каталога нет

Кто-нибудь сталкивался с этой проблемой? Я пытался гуглить, но кто-то сказал, что это работает, но это инструмент только для Windows.

Или, может быть, есть какая-то другая сервисная платформа для .net core?

1 Ответ

2 голосов
/ 25 июня 2019

Предполагая, что вы установили эту версию Topshelf - вы заметите под зависимостями, что она не поддерживает .NET Core и, следовательно, она не будет работать в среде Linux.

Этобудет работать только в среде Windows, как вы упоминали в своем посте.kernel32.dll - это зависимость Windows, которую он не может найти, поэтому он не может работать.

...