gpt4 book ai didi

linux - 使用 mono-service 在 linux 上包装一个 windows 服务

转载 作者:IT王子 更新时间:2023-10-29 00:27:47 27 4
gpt4 key购买 nike

您好,我正在尝试使用 mono-service2 从 visual studio 运行一个库存 Windows 服务项目。我在 debian 上使用 mono 2.0 运行它并编译。

gmcs *.cs -pkg:dotnet

我尝试从这个开始(我尝试将 -d 设置为应用程序的目录并设置 -n,-m)

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

唯一的代码更改是添加用于测试的写入行

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]

谢谢你的帮助

回答

我缺少 LD____LIBRARY____PATH 环境变量,所以我将它添加到 csh 中进行测试

#!/bin/csh
setenv LD_LIBRARY_PATH .:/usr/local/lib
mono-service2 -l:service.lock --debug Program.exe

最佳答案

你的 LD_LIBRARY_PATH 指向哪里? libMonoPosixHelper.so 在里面吗?

关于linux - 使用 mono-service 在 linux 上包装一个 windows 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/351971/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com