services - utilizando un servicio único para envolver un servicio de Windows en Linux
servicios en debian (2)
¿Hacia dónde apunta su LD_LIBRARY_PATH? ¿Está libMonoPosixHelper.so
ahí?
Hola, estoy intentando usar mono-service2 para ejecutar un proyecto de servicio de Windows de Visual Studio. Estoy ejecutando esto en Debian con mono 2.0 y compilando.
gmcs *.cs -pkg:dotnet
Intento y comienzo con esto (lo he intentado con -d establecido en el directorio con la aplicación y -n, -m establecido)
mono-service2 -l:service.lock --debug Program.exe
El único cambio de código es agregar writelines para probar
Service1.cs
using System;
using System.ServiceProcess;
namespace spikes
{
public partial class Service1 : ServiceBase
{
public Service1()
{
InitializeComponent();
}
protected override void OnStart(string[] args)
{
Console.WriteLine("starting...");
}
protected override void OnStop()
{
Console.WriteLine("stopping....");
}
}
}
El resultado es este error
Unhandled Exception: System.TypeInitializationException: An exception was thrown by the type initializer for Mono.Unix.Native.Syscall ---> System.DllNotFoundException: libMonoPosixHelper.so
at (wrapper managed-to-native) Mono.Unix.Native.Syscall:_L_ctermid ()
at Mono.Unix.Native.Syscall..cctor () [0x00000]
--- End of inner exception stack trace ---
at MonoServiceRunner.Main (System.String[] args) [0x00000]
Gracias por tu ayuda
Responder
Me faltaba la variable de entorno LD____LIBRARY____PATH, así que lo agregué en un csh para una prueba
#!/bin/csh
setenv LD_LIBRARY_PATH .:/usr/local/lib
mono-service2 -l:service.lock --debug Program.exe
Asegúrate de tener instalado libmono0 .