mono linux c 服务,使用mono-service在Linux上包装Windows服务

嗨,我正在尝试使用mono-service2从visual studio运行一个股票Windows服务项目 . 我正在使用mono 2.0和编译器在debian上运行它 .

gmcs *.cs -pkg:dotnet

我尝试从这开始(我尝试使用-d设置为dir与app和-n,-m设置)

mono-service2 -l:service.lock --debug Program.exe

唯一的代码更改是添加用于测试的writelines

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....");

}

}

}

结果是这个错误

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]

谢谢你的帮助

Answer

我错过了LD____LIBRARY____PATH env变量,因此我将其添加到csh中进行测试

#!/bin/csh

setenv LD_LIBRARY_PATH .:/usr/local/lib

mono-service2 -l:service.lock --debug Program.exe

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值