моно-сервис на windows

Я унаследовал приложение, использующее моно, которое запускает службу Windows. Все оригинальные разработчики ушли. В производственной версии в Linux используется моно. Я пытаюсь запустить среду разработки. Я решил использовать окна в качестве базовой платформы, запускающей моно поверх нее. Хорошо, возможно, это не лучшая идея, учитывая мою текущую проблему, но я хотел бы попытаться понять проблему, прежде чем переносить среду на Linux.

Проблема в том, что я не могу запустить моносервис. Я могу получить небольшие приложения winforms для запуска с использованием моно. Моя проблема такая же, как и в предыдущем вопросе с ответом. с использованием моносервиса для обертывания службы Windows в Linux Однако я не могу перевести ответ о том, что делать в среде Windows. Я уверен, что у меня проблема с загрузкой dll.

Необработанное исключение: System.TypeInitializationException: исключение было вызвано инициализатором типа для Mono.Unix.Native.Syscall ---> System.EntryPointNotF oundException: Mono_Posix_Syscall_L_ctermid в (оболочка, управляемая в родную) Mono.Unix.Native.Syscall: _L_ctermid () в Mono.Unix.Native.Syscall..cctor () [0x00000] --- Конец внутренней трассировки стека исключений --- в MonoServiceRunner.Main (System.String [] args) [0x00000]

Я добавил переменные среды monodevelop и установил «все», и у меня есть файл журнала. Никакой текст не будет записан в файл журнала. И я не могу получить больше информации, чем то, что опубликовано выше. Может ли кто-нибудь указать мне правильное направление.


person larry    schedule 16.10.2009    source источник


Ответы (1)


Я думаю, что моно-сервис работает только в Linux. В Windows вы можете просто делать то, что обычно делаете, для установки / запуска службы .Net с помощью ServiceBase. Смысл моносервиса - имитировать поведение Windows в Linux.

person jpobst    schedule 16.10.2009
comment
Это правильно, очевидно, что Mono.Unix.Native.Syscall недоступен в Windows. - person ; 08.09.2010