2008-12-09 37 views
13

Xin chào, tôi đang cố gắng sử dụng mono-service2 để chạy một dự án Dịch vụ Windows từ kho trực quan. Tôi đang chạy trên debian với mono 2.0 và biên dịch với.sử dụng dịch vụ đơn nhất để gói dịch vụ cửa sổ trên linux

gmcs *.cs -pkg:dotnet 

tôi cố gắng và bắt đầu với điều này (tôi đã thử với bộ -d vào thư mục với ứng dụng và -n, bộ -m)

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

Sự thay đổi mã chỉ là thêm writelines để thử nghiệm

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

Kết quả là tôi s lỗi này

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] 

Nhờ sự giúp đỡ của bạn

trả lời

tôi nhớ da diết biến LD____LIBRARY____PATH env, vì vậy tôi đã thêm nó trong một csh cho một thử nghiệm

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

ya ở trên cùng, debian, mono-2.0 –

+0

Đã xóa nhận xét đầu tiên của tôi vì không còn liên quan nữa. Đã nhìn thấy thông tin đó, xin lỗi. ;-) – Tomalak

+0

và cảm ơn một lần nữa –

Trả lời

8

LD_LIBRARY_PATH của bạn trỏ đến đâu? Có phải là libMonoPosixHelper.so trong đó không?

+0

Cảm ơn nó đã không được thiết lập đúng cách –

0

Đảm bảo bạn đã cài đặt libmono0.

Các vấn đề liên quan