基本上我有一个dotnet 4控制台应用程序,我想转换为Linux服务。我已经在最新版本的mono上测试了控制台应用程序,它可以工作。然后我将控制台应用程序转换为Windows服务,并尝试使用mono-service2启动它,但它导致了一些关于未找到图像的错误。它似乎是在谈论单声道图像或一些这样的而不是图像文件,如果这是有道理的。似乎mono-service2是为dotnet 2.0而不是dotnet 4.0构建的,我似乎无法找到dotnet 4.0版本的代码。任何人都可以指出我正确的方向或给我另一种方式来运行我的服务?我真的希望它们在webmin中显示为服务,这样我就可以停止,启动并检查它们在网络上的状态。
我无法发布确切的错误,因为我没有在我身上,但如果有帮助的话,我会在大约6个小时后发布。
答案 0 :(得分:6)
我知道这已经晚了两年但我遇到了同样的问题。
进一步调查显示'mono-service2'(在我的ArchLinux pc上)映射到/usr/lib/mono/2.0,其中'mono-service'映射到/usr/lib/mono/4.5
我希望这能节省其他人的时间。
答案 1 :(得分:0)
如果程序只需要在后台运行而不是在控制台上运行,那么还有其他方法可以在Linux上启动它而不使用单声道的服务系统。
例如通过shell脚本:
#!/bin/bash
mono myprogram.exe $@ 1> ~/stdout.log 2> ~/stderr.log &