Тестирование службы Windows DOTNET в Linux с использованием моносервиса

Я пытаюсь запустить службу Windows .NET-4.0 в Linux с помощью моносервиса. Он не скомпилирован с моно или чем-то еще. Я не на 100%, это выполнимо, но я подумал, что могу попробовать (двоичная совместимость и т. Д., Кажется выполнимо?). Поправьте меня если я ошибаюсь.

Я получаю сообщение об ошибке, что не удается найти некоторые библиотеки DLL. Они есть в системе, но она их не находит. Вот один.

$ ldconfig -p | grep Posix
    libMonoPosixHelper.so (libc6,x86-64) => /usr/lib/libMonoPosixHelper.so

Я пытаюсь добавить путь и т. Д., Но без изменений.

$ MONO_LOG_LEVEL=debug mono-service MyService.exe --debug > output.log

or

$ MONO_PATH=/usr/lib MONO_LOG_LEVEL=debug mono-service MyService.exe --debug > output.log

или LD_LIBRARY_PATH, который был пуст, поэтому я попробовал

export LD_LIBRARY_PATH=/usr/lib

Всегда так на выходе:

Mono: DllImport attempting to load: 'libMonoPosixHelper.so'.
Mono: DllImport loading library: '/usr/lib/mono/gac/Mono.Posix/4.0.0.0__0738eb9f132ed756/libMonoPosixHelper.so'.
Mono: DllImport error loading library '/usr/lib/mono/gac/Mono.Posix/4.0.0.0__0738eb9f132ed756/libMonoPosixHelper.so: cannot open shared object file: No such file or directory'.
Mono: DllImport loading library: '/usr/lib/mono/gac/Mono.Posix/4.0.0.0__0738eb9f132ed756/libMonoPosixHelper.so'.
Mono: DllImport error loading library '/usr/lib/mono/gac/Mono.Posix/4.0.0.0__0738eb9f132ed756/libMonoPosixHelper.so: cannot open shared object file: No such file or directory'.
Mono: DllImport loading location: 'libMonoPosixHelper.so'.

Так что он не находит его в базовом пути, просто просматривает GAC. Почему он не смотрит туда? Он должен смотреть в MONO_PATH перед GAC? Я что-то упускаю?

Протестировано на двух виртуальных машинах: Ubuntu 13.04 и чистом live Mint 14.

редактировать, добавлять информацию 9/10:

Хорошо, у Ubuntu была версия 2.10 или что-то в этом роде, я пробовал с последним исходным кодом

$ sudo ./autogen.sh --prefix=/usr/local
$ sudo make
$ sudo make install
$ mono --version
Mono JIT compiler version 3.2.1 (tarball Tue Sep 10 12:25:30 CEST 2013)
Copyright (C) 2002-2012 Novell, Inc, Xamarin Inc and Contributors. www.mono-project.com
    TLS:           __thread
    SIGSEGV:       altstack
    Notifications: epoll
    Architecture:  amd64
    Disabled:      none
    Misc:          softdebug 
    LLVM:          supported, not enabled.
    GC:            sgen
$ LD_LIBRARY_PATH=/usr/local/lib MONO_LOG_LEVEL=info mono-service MyService.exe --debug > output.log    

output.log:

Mono: Assembly Loader probing location: '/usr/lib/mscorlib.dll'.
Mono: Assembly Loader probing location: '/usr/lib/mono/mscorlib.dll'.
Mono: Assembly Loader probing location: '/usr/lib/mscorlib.dll'.
Mono: Assembly Loader probing location: '/usr/lib/mono/mscorlib.dll'.
Mono: Assembly Loader probing location: '/usr/lib/mscorlib.dll'.
Mono: Assembly Loader probing location: '/usr/lib/mono/mscorlib.dll'.
Mono: Assembly Loader probing location: '/usr/lib/mscorlib.dll'.
Mono: Assembly Loader probing location: '/usr/lib/mono/4.5/mscorlib.dll'.
Mono: Assembly Loader probing location: '/usr/lib/mono/mono/4.5/mscorlib.dll'.
Mono: Assembly Loader probing location: '/usr/lib/mono/4.5/mscorlib.dll'.
Mono: Assembly Loader probing location: '/usr/lib/mono/mono/4.5/mscorlib.dll'.
Mono: Assembly Loader probing location: '/usr/lib/mono/4.5/mscorlib.dll'.
Mono: Assembly Loader probing location: '/usr/lib/mono/mono/4.5/mscorlib.dll'.
Mono: Assembly Loader probing location: '/usr/lib/mono/4.5/mscorlib.dll'.
Mono: Assembly Loader probing location: '/usr/local/lib/mono/4.5/mscorlib.dll'.
Mono: Image addref mscorlib[0xdb0130] -> /usr/local/lib/mono/4.5/mscorlib.dll[0xdaf370]: 2
Mono: Assembly Loader probing location: '/usr/lib/mscorlib.dll'.
Mono: Assembly Loader probing location: '/usr/lib/mono/mscorlib.dll'.
Mono: Assembly Loader probing location: '/usr/lib/mscorlib.dll'.
Mono: Assembly Loader probing location: '/usr/lib/mono/mscorlib.dll'.
Mono: Assembly Loader probing location: '/usr/lib/mscorlib.dll'.
Mono: Assembly Loader probing location: '/usr/lib/mono/mscorlib.dll'.
Mono: Assembly Loader probing location: '/usr/lib/mscorlib.dll'.
Mono: Assembly Loader probing location: '/usr/lib/mono/4.5/mscorlib.dll'.
Mono: Assembly Loader probing location: '/usr/lib/mono/mono/4.5/mscorlib.dll'.
Mono: Assembly Loader probing location: '/usr/lib/mono/4.5/mscorlib.dll'.
Mono: Assembly Loader probing location: '/usr/lib/mono/mono/4.5/mscorlib.dll'.
Mono: Assembly Loader probing location: '/usr/lib/mono/4.5/mscorlib.dll'.
Mono: Assembly Loader probing location: '/usr/lib/mono/mono/4.5/mscorlib.dll'.
Mono: Assembly Loader probing location: '/usr/lib/mono/4.5/mscorlib.dll'.
Mono: Assembly Loader probing location: '/usr/local/lib/mono/4.5/mscorlib.dll'.
Mono: AOT loaded AOT Module for /usr/local/lib/mono/4.5/mscorlib.dll.

Mono: Assembly Loader loaded assembly from location: '/usr/local/lib/mono/4.5/mscorlib.dll'.
Mono: Config attempting to parse: '/usr/local/lib/mono/4.5/mscorlib.dll.config'.
Mono: Config attempting to parse: '/usr/local/etc/mono/assemblies/mscorlib/mscorlib.config'.
Mono: GC_MAJOR: (mature allocation failure) pause 0.16ms, total 0.16ms, bridge 0.00 major 96K/32K los 0K/0K
Mono: Assembly mscorlib[0xdb0130] added to domain mono-service.exe, ref_count=1
Mono: Config attempting to parse: '/usr/local/etc/mono/config'.
Mono: Config attempting to parse: '/home/ejpb/.mono/config'.
Mono: Assembly Loader probing location: '/usr/local/lib/mono/4.5/mono-service.exe'.
Mono: Image addref mono-service[0xdf0660] -> /usr/local/lib/mono/4.5/mono-service.exe[0xdae210]: 3
Mono: Assembly mono-service[0xdf0660] added to domain mono-service.exe, ref_count=1
Mono: AOT failed to load AOT module /usr/local/lib/mono/4.5/mono-service.exe.so: /usr/local/lib/mono/4.5/mono-service.exe.so: cannot open shared object file: No such file or directory

Mono: Assembly Loader loaded assembly from location: '/usr/local/lib/mono/4.5/mono-service.exe'.
Mono: Config attempting to parse: '/usr/local/lib/mono/4.5/mono-service.exe.config'.
Mono: Config attempting to parse: '/usr/local/etc/mono/assemblies/mono-service/mono-service.config'.
Mono: Assembly Loader probing location: '/usr/local/lib/mono/4.5/mono-service.exe'.
Mono: AOT failed to load AOT module /usr/local/lib/mono/4.5/mono-service.exe.so: /usr/local/lib/mono/4.5/mono-service.exe.so: cannot open shared object file: No such file or directory

Mono: Assembly Ref addref mono-service[0xdf0660] -> mscorlib[0xdb0130]: 2
Mono: Config attempting to parse: '/usr/local/lib/mono/4.5/mono-service.exe.config'.
Mono: Assembly Loader probing location: '/usr/local/lib/mono/4.5/Mono.Posix.dll'.
Mono: Image addref Mono.Posix[0xe0bba0] -> /usr/local/lib/mono/gac/Mono.Posix/4.0.0.0__0738eb9f132ed756/Mono.Posix.dll[0xe0ae00]: 2
Mono: Assembly Mono.Posix[0xe0bba0] added to domain mono-service.exe, ref_count=1
Mono: AOT failed to load AOT module /usr/local/lib/mono/gac/Mono.Posix/4.0.0.0__0738eb9f132ed756/Mono.Posix.dll.so: /usr/local/lib/mono/gac/Mono.Posix/4.0.0.0__0738eb9f132ed756/Mono.Posix.dll.so: cannot open shared object file: No such file or directory

Mono: Assembly Loader loaded assembly from location: '/usr/local/lib/mono/4.5/Mono.Posix.dll'.
Mono: Config attempting to parse: '/usr/local/lib/mono/gac/Mono.Posix/4.0.0.0__0738eb9f132ed756/Mono.Posix.dll.config'.
Mono: Config attempting to parse: '/usr/local/etc/mono/assemblies/Mono.Posix/Mono.Posix.config'.
Mono: Assembly Ref addref mono-service[0xdf0660] -> Mono.Posix[0xe0bba0]: 2
Mono: Assembly Ref addref Mono.Posix[0xe0bba0] -> mscorlib[0xdb0130]: 3
Mono: DllImport attempting to load: 'libc.so.6'.
Mono: DllImport error loading library '/usr/local/lib/mono/gac/Mono.Posix/4.0.0.0__0738eb9f132ed756/libc.so.6': '/usr/local/lib/mono/gac/Mono.Posix/4.0.0.0__0738eb9f132ed756/libc.so.6: cannot open shared object file: No such file or directory'.
Mono: DllImport error loading library '/usr/local/lib/mono/gac/Mono.Posix/4.0.0.0__0738eb9f132ed756/libc.so.6.so': '/usr/local/lib/mono/gac/Mono.Posix/4.0.0.0__0738eb9f132ed756/libc.so.6.so: cannot open shared object file: No such file or directory'.
Mono: DllImport loaded library 'libc.so.6'.
Mono: DllImport searching in: 'libc.so.6' ('libc.so.6').
Mono: Searching for 'chdir'.
Mono: Probing 'chdir'.
Mono: Found as 'chdir'.
Mono: DllImport attempting to load: 'libMonoPosixHelper.so'.
Mono: DllImport error loading library '/usr/local/lib/mono/gac/Mono.Posix/4.0.0.0__0738eb9f132ed756/libMonoPosixHelper.so': '/usr/local/lib/mono/gac/Mono.Posix/4.0.0.0__0738eb9f132ed756/libMonoPosixHelper.so: cannot open shared object file: No such file or directory'.
Mono: DllImport error loading library '/usr/local/lib/mono/gac/Mono.Posix/4.0.0.0__0738eb9f132ed756/libMonoPosixHelper.so': '/usr/local/lib/mono/gac/Mono.Posix/4.0.0.0__0738eb9f132ed756/libMonoPosixHelper.so: cannot open shared object file: No such file or directory'.
Mono: DllImport loaded library 'libMonoPosixHelper.so'.
Mono: DllImport searching in: 'libMonoPosixHelper.so' ('libMonoPosixHelper.so').
Mono: Searching for 'Mono_Posix_Syscall_open_mode'.
Mono: Probing 'Mono_Posix_Syscall_open_mode'.
Mono: Found as 'Mono_Posix_Syscall_open_mode'.
Mono: DllImport searching in: 'libMonoPosixHelper.so' ('libMonoPosixHelper.so').
Mono: Searching for 'Mono_Posix_Syscall_lockf'.
Mono: Probing 'Mono_Posix_Syscall_lockf'.
Mono: Found as 'Mono_Posix_Syscall_lockf'.
Mono: DllImport searching in: 'libc.so.6' ('libc.so.6').
Mono: Searching for 'getpid'.
Mono: Probing 'getpid'.
Mono: Found as 'getpid'.
Mono: DllImport searching in: 'libMonoPosixHelper.so' ('libMonoPosixHelper.so').
Mono: Searching for 'Mono_Posix_Syscall_write'.
Mono: Probing 'Mono_Posix_Syscall_write'.
Mono: Found as 'Mono_Posix_Syscall_write'.
Mono: DllImport searching in: 'libMonoPosixHelper.so' ('libMonoPosixHelper.so').
Mono: Searching for 'Mono_Posix_Syscall_get_at_fdcwd'.
Mono: Probing 'Mono_Posix_Syscall_get_at_fdcwd'.
Mono: Found as 'Mono_Posix_Syscall_get_at_fdcwd'.
Mono: DllImport searching in: 'libMonoPosixHelper.so' ('libMonoPosixHelper.so').
Mono: Searching for 'Mono_Posix_Syscall_L_ctermid'.
Mono: Probing 'Mono_Posix_Syscall_L_ctermid'.
Mono: Found as 'Mono_Posix_Syscall_L_ctermid'.
Mono: DllImport searching in: 'libMonoPosixHelper.so' ('libMonoPosixHelper.so').
Mono: Searching for 'Mono_Posix_Syscall_L_cuserid'.
Mono: Probing 'Mono_Posix_Syscall_L_cuserid'.
Mono: Found as 'Mono_Posix_Syscall_L_cuserid'.
Mono: DllImport searching in: 'libMonoPosixHelper.so' ('libMonoPosixHelper.so').
Mono: Searching for 'Mono_Posix_Syscall_get_utime_now'.
Mono: Probing 'Mono_Posix_Syscall_get_utime_now'.
Mono: Found as 'Mono_Posix_Syscall_get_utime_now'.
Mono: DllImport searching in: 'libMonoPosixHelper.so' ('libMonoPosixHelper.so').
Mono: Searching for 'Mono_Posix_Syscall_get_utime_omit'.
Mono: Probing 'Mono_Posix_Syscall_get_utime_omit'.
Mono: Found as 'Mono_Posix_Syscall_get_utime_omit'.
Mono: DllImport searching in: 'libc.so.6' ('libc.so.6').
Mono: Searching for 'free'.
Mono: Probing 'free'.
Mono: Found as 'free'.
Mono: DllImport searching in: 'libMonoPosixHelper.so' ('libMonoPosixHelper.so').
Mono: Searching for 'Mono_Posix_Stdlib_malloc'.
Mono: Probing 'Mono_Posix_Stdlib_malloc'.
Mono: Found as 'Mono_Posix_Stdlib_malloc'.
Mono: DllImport searching in: 'libMonoPosixHelper.so' ('libMonoPosixHelper.so').
Mono: Searching for 'Mono_Posix_Stdlib_SIG_DFL'.
Mono: Probing 'Mono_Posix_Stdlib_SIG_DFL'.
Mono: Found as 'Mono_Posix_Stdlib_SIG_DFL'.
Mono: DllImport searching in: 'libMonoPosixHelper.so' ('libMonoPosixHelper.so').
Mono: Searching for 'Mono_Posix_Stdlib_SIG_ERR'.
Mono: Probing 'Mono_Posix_Stdlib_SIG_ERR'.
Mono: Found as 'Mono_Posix_Stdlib_SIG_ERR'.
Mono: DllImport searching in: 'libMonoPosixHelper.so' ('libMonoPosixHelper.so').
Mono: Searching for 'Mono_Posix_Stdlib_SIG_IGN'.
Mono: Probing 'Mono_Posix_Stdlib_SIG_IGN'.
Mono: Found as 'Mono_Posix_Stdlib_SIG_IGN'.
Mono: DllImport searching in: 'libMonoPosixHelper.so' ('libMonoPosixHelper.so').
Mono: Searching for 'Mono_Posix_Stdlib__IOFBF'.
Mono: Probing 'Mono_Posix_Stdlib__IOFBF'.
Mono: Found as 'Mono_Posix_Stdlib__IOFBF'.
Mono: DllImport searching in: 'libMonoPosixHelper.so' ('libMonoPosixHelper.so').
Mono: Searching for 'Mono_Posix_Stdlib__IOLBF'.
Mono: Probing 'Mono_Posix_Stdlib__IOLBF'.
Mono: Found as 'Mono_Posix_Stdlib__IOLBF'.
Mono: DllImport searching in: 'libMonoPosixHelper.so' ('libMonoPosixHelper.so').
Mono: Searching for 'Mono_Posix_Stdlib__IONBF'.
Mono: Probing 'Mono_Posix_Stdlib__IONBF'.
Mono: Found as 'Mono_Posix_Stdlib__IONBF'.
Mono: DllImport searching in: 'libMonoPosixHelper.so' ('libMonoPosixHelper.so').
Mono: Searching for 'Mono_Posix_Stdlib_BUFSIZ'.
Mono: Probing 'Mono_Posix_Stdlib_BUFSIZ'.
Mono: Found as 'Mono_Posix_Stdlib_BUFSIZ'.
Mono: DllImport searching in: 'libMonoPosixHelper.so' ('libMonoPosixHelper.so').
Mono: Searching for 'Mono_Posix_Stdlib_EOF'.
Mono: Probing 'Mono_Posix_Stdlib_EOF'.
Mono: Found as 'Mono_Posix_Stdlib_EOF'.
Mono: DllImport searching in: 'libMonoPosixHelper.so' ('libMonoPosixHelper.so').
Mono: Searching for 'Mono_Posix_Stdlib_FOPEN_MAX'.
Mono: Probing 'Mono_Posix_Stdlib_FOPEN_MAX'.
Mono: Found as 'Mono_Posix_Stdlib_FOPEN_MAX'.
Mono: DllImport searching in: 'libMonoPosixHelper.so' ('libMonoPosixHelper.so').
Mono: Searching for 'Mono_Posix_Stdlib_FILENAME_MAX'.
Mono: Probing 'Mono_Posix_Stdlib_FILENAME_MAX'.
Mono: Found as 'Mono_Posix_Stdlib_FILENAME_MAX'.
Mono: DllImport searching in: 'libMonoPosixHelper.so' ('libMonoPosixHelper.so').
Mono: Searching for 'Mono_Posix_Stdlib_L_tmpnam'.
Mono: Probing 'Mono_Posix_Stdlib_L_tmpnam'.
Mono: Found as 'Mono_Posix_Stdlib_L_tmpnam'.
Mono: DllImport searching in: 'libMonoPosixHelper.so' ('libMonoPosixHelper.so').
Mono: Searching for 'Mono_Posix_Stdlib_stderr'.
Mono: Probing 'Mono_Posix_Stdlib_stderr'.
Mono: Found as 'Mono_Posix_Stdlib_stderr'.
Mono: DllImport searching in: 'libMonoPosixHelper.so' ('libMonoPosixHelper.so').
Mono: Searching for 'Mono_Posix_Stdlib_stdin'.
Mono: Probing 'Mono_Posix_Stdlib_stdin'.
Mono: Found as 'Mono_Posix_Stdlib_stdin'.
Mono: DllImport searching in: 'libMonoPosixHelper.so' ('libMonoPosixHelper.so').
Mono: Searching for 'Mono_Posix_Stdlib_stdout'.
Mono: Probing 'Mono_Posix_Stdlib_stdout'.
Mono: Found as 'Mono_Posix_Stdlib_stdout'.
Mono: DllImport searching in: 'libMonoPosixHelper.so' ('libMonoPosixHelper.so').
Mono: Searching for 'Mono_Posix_Stdlib_TMP_MAX'.
Mono: Probing 'Mono_Posix_Stdlib_TMP_MAX'.
Mono: Found as 'Mono_Posix_Stdlib_TMP_MAX'.
Mono: DllImport searching in: 'libMonoPosixHelper.so' ('libMonoPosixHelper.so').
Mono: Searching for 'Mono_Posix_Stdlib_EXIT_FAILURE'.
Mono: Probing 'Mono_Posix_Stdlib_EXIT_FAILURE'.
Mono: Found as 'Mono_Posix_Stdlib_EXIT_FAILURE'.
Mono: DllImport searching in: 'libMonoPosixHelper.so' ('libMonoPosixHelper.so').
Mono: Searching for 'Mono_Posix_Stdlib_EXIT_SUCCESS'.
Mono: Probing 'Mono_Posix_Stdlib_EXIT_SUCCESS'.
Mono: Found as 'Mono_Posix_Stdlib_EXIT_SUCCESS'.
Mono: DllImport searching in: 'libMonoPosixHelper.so' ('libMonoPosixHelper.so').
Mono: Searching for 'Mono_Posix_Stdlib_MB_CUR_MAX'.
Mono: Probing 'Mono_Posix_Stdlib_MB_CUR_MAX'.
Mono: Found as 'Mono_Posix_Stdlib_MB_CUR_MAX'.
Mono: DllImport searching in: 'libMonoPosixHelper.so' ('libMonoPosixHelper.so').
Mono: Searching for 'Mono_Posix_Stdlib_RAND_MAX'.
Mono: Probing 'Mono_Posix_Stdlib_RAND_MAX'.
Mono: Found as 'Mono_Posix_Stdlib_RAND_MAX'.
Mono: Assembly mscorlib[0xdb0130] added to domain MyService.exe, ref_count=4
Mono: Config attempting to parse: '/home/ejpb/mono-3.2.1/MyService.exe.config'.
Mono: Assembly Loader probing location: '/usr/local/lib/mono/gac/Mono.Security/4.0.0.0__0738eb9f132ed756/Mono.Security.dll'.
Mono: Image addref Mono.Security[0xf159c0] -> /usr/local/lib/mono/gac/Mono.Security/4.0.0.0__0738eb9f132ed756/Mono.Security.dll[0xf296f0]: 2
Mono: Assembly Mono.Security[0xf159c0] added to domain MyService.exe, ref_count=1
Mono: AOT failed to load AOT module /usr/local/lib/mono/gac/Mono.Security/4.0.0.0__0738eb9f132ed756/Mono.Security.dll.so: /usr/local/lib/mono/gac/Mono.Security/4.0.0.0__0738eb9f132ed756/Mono.Security.dll.so: cannot open shared object file: No such file or directory

Mono: Assembly Loader loaded assembly from location: '/usr/local/lib/mono/gac/Mono.Security/4.0.0.0__0738eb9f132ed756/Mono.Security.dll'.
Mono: Config attempting to parse: '/usr/local/lib/mono/gac/Mono.Security/4.0.0.0__0738eb9f132ed756/Mono.Security.dll.config'.
Mono: Config attempting to parse: '/usr/local/etc/mono/assemblies/Mono.Security/Mono.Security.config'.
Mono: Assembly Ref addref Mono.Security[0xf159c0] -> mscorlib[0xdb0130]: 5
Mono: Assembly Loader probing location: '/usr/local/lib/mono/4.5/Mono.Security.dll'.
Mono: Unloading image /usr/local/lib/mono/gac/Mono.Security/4.0.0.0__0738eb9f132ed756/Mono.Security.dll [0x1003f10].
Mono: Assembly Mono.Security[0xf159c0] added to domain mono-service.exe, ref_count=2
Mono: AOT failed to load AOT module /usr/local/lib/mono/gac/Mono.Security/4.0.0.0__0738eb9f132ed756/Mono.Security.dll.so: /usr/local/lib/mono/gac/Mono.Security/4.0.0.0__0738eb9f132ed756/Mono.Security.dll.so: cannot open shared object file: No such file or directory

Mono: Assembly Loader probing location: '/usr/local/lib/mono/gac/mono-service/4.0.0.0__0738eb9f132ed756/mono-service.dll'.
Mono: Assembly Loader probing location: '/usr/local/lib/mono-service.dll'.
Mono: Assembly Loader probing location: '/usr/local/lib/mono/4.5/Facades/mono-service.dll'.
Mono: Assembly Loader probing location: '/usr/local/lib/mono/gac/mono-service/4.0.0.0__0738eb9f132ed756/mono-service.exe'.
Mono: Image addref mono-service[0x109a0b0] -> /usr/local/lib/mono/gac/mono-service/4.0.0.0__0738eb9f132ed756/mono-service.exe[0x106e200]: 2
Mono: Assembly mono-service[0x109a0b0] added to domain MyService.exe, ref_count=1
Mono: AOT failed to load AOT module /usr/local/lib/mono/gac/mono-service/4.0.0.0__0738eb9f132ed756/mono-service.exe.so: /usr/local/lib/mono/gac/mono-service/4.0.0.0__0738eb9f132ed756/mono-service.exe.so: cannot open shared object file: No such file or directory

Mono: Assembly Loader loaded assembly from location: '/usr/local/lib/mono/gac/mono-service/4.0.0.0__0738eb9f132ed756/mono-service.exe'.
Mono: Config attempting to parse: '/usr/local/lib/mono/gac/mono-service/4.0.0.0__0738eb9f132ed756/mono-service.exe.config'.
Mono: Config attempting to parse: '/usr/local/etc/mono/assemblies/mono-service/mono-service.config'.
Mono: Assembly Ref addref mono-service[0x109a0b0] -> mscorlib[0xdb0130]: 6
Mono: Assembly Loader probing location: '/usr/local/lib/mono/gac/System.ServiceProcess/4.0.0.0__b03f5f7f11d50a3a/System.ServiceProcess.dll'.
Mono: Image addref System.ServiceProcess[0x10bf5f0] -> /usr/local/lib/mono/gac/System.ServiceProcess/4.0.0.0__b03f5f7f11d50a3a/System.ServiceProcess.dll[0x10be7a0]: 2
Mono: Assembly System.ServiceProcess[0x10bf5f0] added to domain MyService.exe, ref_count=1
Mono: AOT failed to load AOT module /usr/local/lib/mono/gac/System.ServiceProcess/4.0.0.0__b03f5f7f11d50a3a/System.ServiceProcess.dll.so: /usr/local/lib/mono/gac/System.ServiceProcess/4.0.0.0__b03f5f7f11d50a3a/System.ServiceProcess.dll.so: cannot open shared object file: No such file or directory

Mono: Assembly Loader loaded assembly from location: '/usr/local/lib/mono/gac/System.ServiceProcess/4.0.0.0__b03f5f7f11d50a3a/System.ServiceProcess.dll'.
Mono: Config attempting to parse: '/usr/local/lib/mono/gac/System.ServiceProcess/4.0.0.0__b03f5f7f11d50a3a/System.ServiceProcess.dll.config'.
Mono: Config attempting to parse: '/usr/local/etc/mono/assemblies/System.ServiceProcess/System.ServiceProcess.config'.
Mono: Assembly Ref addref mono-service[0x109a0b0] -> System.ServiceProcess[0x10bf5f0]: 2
Mono: Assembly Loader probing location: '/usr/local/lib/mono/gac/System/4.0.0.0__b77a5c561934e089/System.dll'.
Mono: Image addref System[0x10c0fc0] -> /usr/local/lib/mono/gac/System/4.0.0.0__b77a5c561934e089/System.dll[0x10c0290]: 2
Mono: Assembly System[0x10c0fc0] added to domain MyService.exe, ref_count=1
Mono: AOT failed to load AOT module /usr/local/lib/mono/gac/System/4.0.0.0__b77a5c561934e089/System.dll.so: /usr/local/lib/mono/gac/System/4.0.0.0__b77a5c561934e089/System.dll.so: cannot open shared object file: No such file or directory

Mono: Assembly Loader loaded assembly from location: '/usr/local/lib/mono/gac/System/4.0.0.0__b77a5c561934e089/System.dll'.
Mono: Config attempting to parse: '/usr/local/lib/mono/gac/System/4.0.0.0__b77a5c561934e089/System.dll.config'.
Mono: Config attempting to parse: '/usr/local/etc/mono/assemblies/System/System.config'.
Mono: Assembly Ref addref System.ServiceProcess[0x10bf5f0] -> System[0x10c0fc0]: 2
Mono: Assembly Ref addref System[0x10c0fc0] -> mscorlib[0xdb0130]: 7
Mono: Assembly Ref addref System.ServiceProcess[0x10bf5f0] -> mscorlib[0xdb0130]: 8
Mono: Assembly Loader probing location: 'MyService.exe'.
Mono: Assembly Loader probing location: '/usr/local/lib/mono/gac/Mono.Posix/4.0.0.0__0738eb9f132ed756/Mono.Posix.dll'.
Mono: Assembly Mono.Posix[0xe0bba0] added to domain MyService.exe, ref_count=3
Mono: AOT failed to load AOT module /usr/local/lib/mono/gac/Mono.Posix/4.0.0.0__0738eb9f132ed756/Mono.Posix.dll.so: /usr/local/lib/mono/gac/Mono.Posix/4.0.0.0__0738eb9f132ed756/Mono.Posix.dll.so: cannot open shared object file: No such file or directory

Mono: Assembly Ref addref mono-service[0x109a0b0] -> Mono.Posix[0xe0bba0]: 4
Mono: DllImport searching in: 'libMonoPosixHelper.so' ('libMonoPosixHelper.so').
Mono: Searching for 'Mono_Posix_Syscall_syslog'.
Mono: Probing 'Mono_Posix_Syscall_syslog'.
Mono: Found as 'Mono_Posix_Syscall_syslog'.
Mono: DllImport searching in: 'libMonoPosixHelper.so' ('libMonoPosixHelper.so').
Mono: Searching for 'Mono_Posix_FromSyslogLevel'.
Mono: Probing 'Mono_Posix_FromSyslogLevel'.
Mono: Found as 'Mono_Posix_FromSyslogLevel'.
Mono: GC_MAJOR: (user request) pause 1.18ms, total 1.20ms, bridge 0.00 major 704K/272K los 50K/120K
Mono: Unloading domain mono-service.exe[0xdaafb0], assembly __MetadataTypes[0x1025240], ref_count=1
Mono: Unloading assembly __MetadataTypes [0x1025240].
Mono: Unloading image __MetadataTypes [0x1003fc0].
Mono: Unloading image __MetadataTypes [0x102dba0].
Mono: Unloading domain mono-service.exe[0xdaafb0], assembly mscorlib[0xdb0130], ref_count=8
Mono: Unloading domain mono-service.exe[0xdaafb0], assembly mono-service[0xdf0660], ref_count=1
Mono: Unloading assembly mono-service [0xdf0660].
Mono: Unloading domain mono-service.exe[0xdaafb0], assembly Mono.Posix[0xe0bba0], ref_count=4
Mono: Unloading domain mono-service.exe[0xdaafb0], assembly Mono.Security[0xf159c0], ref_count=2
Mono: Unloading image /usr/local/lib/mono/4.5/mono-service.exe [0xdae210].
Mono: Assembly image '/usr/local/lib/mono/gac/System.ServiceProcess/4.0.0.0__b03f5f7f11d50a3a/System.ServiceProcess.dll' still loaded at shutdown.
Mono: Assembly image '/usr/local/lib/mono/4.5/mscorlib.dll' still loaded at shutdown.
Mono: Assembly image '/usr/local/lib/mono/gac/Mono.Security/4.0.0.0__0738eb9f132ed756/Mono.Security.dll' still loaded at shutdown.
Mono: Assembly image '/usr/local/lib/mono/gac/Mono.Posix/4.0.0.0__0738eb9f132ed756/Mono.Posix.dll' still loaded at shutdown.
Mono: Assembly image '/usr/local/lib/mono/4.5/mscorlib.dll' still loaded at shutdown.
Mono: Assembly image '/usr/local/lib/mono/gac/System/4.0.0.0__b77a5c561934e089/System.dll' still loaded at shutdown.
Mono: Assembly image '/usr/local/lib/mono/gac/mono-service/4.0.0.0__0738eb9f132ed756/mono-service.exe' still loaded at shutdown.
Mono: Assembly image '/usr/local/lib/mono/gac/Mono.Posix/4.0.0.0__0738eb9f132ed756/Mono.Posix.dll' still loaded at shutdown.
Mono: Assembly image '/usr/local/lib/mono/gac/Mono.Security/4.0.0.0__0738eb9f132ed756/Mono.Security.dll' still loaded at shutdown.
Mono: Assembly image '/usr/local/lib/mono/gac/System/4.0.0.0__b77a5c561934e089/System.dll' still loaded at shutdown.
Mono: Assembly image '/usr/local/lib/mono/gac/System.ServiceProcess/4.0.0.0__b03f5f7f11d50a3a/System.ServiceProcess.dll' still loaded at shutdown.

Вроде лучше, но он все еще отключается.

Он находит libMonoPosixHelper
Mono: DllImport loaded library 'libMonoPosixHelper.so'.
Но терпит неудачу в Posix:
Mono: AOT failed to load AOT module /usr/local/lib/mono/gac/Mono.Posix/4.0.0.0__0738eb9f132ed756/Mono.Posix.dll.so: /usr/local/lib/mono/gac/Mono.Posix/4.0.0.0__0738eb9f132ed756/Mono.Posix.dll.so: cannot open shared object file: No such file or directory
в конце журнала. Это основная ошибка, которая вызывает завершение работы?
Mono.Posix.dll загружается раньше ... Я не знаю, упустил ли я что-то при чтении журнала.

редактировать 9/30

Хорошо, я пробовал с CrunchBang vm, у него нет Mono. Установлен tarball с префиксом / home / ejpb / mono (необходимо место, на разделе / ​​home).
Вопрос: правильно ли я это делаю? Я скопировал exe и dll из установленного каталога в Windows. Могу ли я как-нибудь использовать msi-файл в Linux (извлечь их из него)? Изменит ли это что-нибудь?
Я побежал

LD_LIBRARY_PATH=/home/ejpb/mono/lib MONO_LOG_LEVEL=debug mono-service -v /home/ejpb/MyService/MyService.exe --debug > out.log 

и попал в out.log:

Mono: DllImport searching in: 'libMonoPosixHelper.so' ('libMonoPosixHelper.so').  
Mono: Searching for 'Mono_Posix_Stdlib_RAND_MAX'.  
Mono: Probing 'Mono_Posix_Stdlib_RAND_MAX'.  
Mono: Found as 'Mono_Posix_Stdlib_RAND_MAX'.  

и т. д., так что теперь эта часть выглядит нормально.

У меня также есть несколько «не найденных»
Mono: AOT NOT FOUND: System.Security.Cryptography.RNGCryptoServiceProvider: RngClose (intptr).
Mono: AOT NOT FOUND: System.Threading.InternalThread: Thread_free_internal (intptr ).
и т. д.

Пробовал MoMA - Mono 2.8 (4.0 Profile). Это верно и для 3.2.3?
Я получил:

Assembly                  Version    Missing  Not Implemented  Todo  P/Invoke  
Apache.NMS.ActiveMQ.dll   1.5.3.2578    0            4          11       0  
Apache.NMS.dll            1.5.0.2194    0            0           4       0  
log4net.dll               1.2.11.0      0            0           6       3  
MyServiceUtils.dll        1.0.0.0       1            0           0       0  
MyService.exe             1.0.0.0       0            0           1       0  

Возможно, нет возможности запустить эту службу? log4net имеет несколько p / invokes и т. д.


person ejpb    schedule 04.09.2013    source источник
comment
похоже на сломанную моно инсталляцию, как ты моно инсталлировал?   -  person knocte    schedule 05.09.2013
comment
Стандартный apt-get моно пакетов. mono, mono-gac, mono-4.0-service, mono-devel, mono-runtime, mono-utils. Я стараюсь добавлять немного после каждой попытки. Могли ли некоторые из них стать причиной этого? Думаю, в принципе нужен только моно-4.0-сервис.   -  person ejpb    schedule 06.09.2013
comment
это может быть ошибка в процессе загрузки библиотеки, вы должны протестировать с помощью mono 3.2.3, и если она все еще не исправлена ​​в этой версии, вы можете записать ее в bugzilla.xamarin.com   -  person knocte    schedule 06.09.2013
comment
Хорошо, я отредактировал вопрос, см. Выше.   -  person ejpb    schedule 10.09.2013
comment
почему вы установили в / usr / local, а не в / usr? если у вас все еще есть старый моно 2.10 в / usr, значит, вы запутали моно-установку, пожалуйста, погуглите о параллельной среде Mono   -  person knocte    schedule 11.09.2013
comment
Я слепо следовал инструкциям / инструкциям ... Я попробовал еще раз на чистой системе, добавленной выше.   -  person ejpb    schedule 30.09.2013
comment
вы все еще устанавливаете Mono 3.2.x в / usr / local, но в конечном итоге вы используете исполняемый файл Mono 2.x из / usr, не делайте этого, выполните следующее: mono-project.com/Parallel_Mono_Environments   -  person knocte    schedule 30.09.2013
comment
Нет, как я уже сказал, это чистая система, без Mono 2.x, и я использовал исходный код 3.2.3 и запустил ./configure --prefix=/home/ejpb/mono && make && make install, а затем добавил префикс в путь. which mono дает /home/ejpb/mono/bin/mono. Я посмотрел на эту страницу и не подумал, что она нужна в чистой системе.   -  person ejpb    schedule 02.10.2013
comment
@ejpb Можете ли вы дать нам весь результат последнего прогона? Имеет смысл разместить его отдельно, а не в вопросе: на gist.github.com или на любом другом аналогичный сайт.   -  person Moshe Katz    schedule 31.12.2013
comment
Хорошо, я запустил его с последней версией моно и добавил сюда сводку и журнал.   -  person ejpb    schedule 17.01.2014


Ответы (1)


Если вы установили mono с помощью sudo apt-get install mono-complete, вы можете посмотреть файл mscorlib.

Mono принимает mscorlib.dll 2.0 вместо 4.0

Невозможно запустить приложение .net с Mono - mscorlib.dll не найден (несовпадение версий?)

может быть полезно.

person Theodor Solbjørg    schedule 05.02.2014
comment
Спасибо. Да, возможно, но нет, я использовал архив после первого вопроса. У меня есть сводка и журнал моей последней попытки в скрытом комментарии выше. - person ejpb; 06.02.2014