我继承了一个使用运行Windows服务的mono的应用程序。所有原始开发人员都不见了。生产版本在linux上使用mono。我正在尝试启动和运行开发环境。我决定使用windows作为运行单声道的基础平台。好吧也许不是我当前的问题最好的想法,但我想在将环境转移到linux之前尝试理解这个问题。
问题是我无法运行单一服务。我可以使用mono来运行小型winforms应用程序。我的问题与之前的问题答案相同。 using mono-service to wrap a windows service on linux 但是,我无法翻译Windows环境中的操作答案。我确定我在加载dll时遇到问题。
未处理的异常:System.TypeInitializationException:抛出异常 通过Mono.Unix.Native.Syscall --->的类型初始化器。 System.EntryPointNotF oundException:Mono_Posix_Syscall_L_ctermid at(包装器托管到原生)Mono.Unix.Native.Syscall:_L_ctermid() 在Mono.Unix.Native.Syscall..cctor()[0x00000] ---内部异常堆栈跟踪结束--- 在MonoServiceRunner.Main(System.String [] args)[0x00000]
我添加了monodevelop环境变量并设置为“all”并拥有一个日志文件。没有文本将记录日志文件。我不能再获得上面发布的内容了解更多信息。有人能指出我正确的方向。
答案 0 :(得分:5)
我认为mono-service只能在Linux上运行。在Windows上,您可以执行使用ServiceBase安装/运行.Net服务时通常所做的操作。单声道服务的目的是模仿Linux上的Windows行为。