在Linux Debian上使用Mono运行时版本问题



我试图通过Mono在Linux上运行一个可执行程序(因为Wine不符合),我得到了这个输出。我已经搜索过了,不知道该怎么办:

警告:此应用程序支持的运行时版本不可用。使用默认运行时:v4.0.30319无法打开/root/Desktop/toolGeoIP.dat文件System.IO.DirectoryNotFoundException:目录'/root/Desktop/toolplugin'未找到。在System. io . directory . validatedirectorylisting (字符串路径,系统。字符串搜索模式,System.Boolean&Stop) <0x7f11f1ba74c0 + 0x0019c> in:0在System. io . directory . getfilesystementries (字符串路径,系统。字符串搜索模式,FileAttributes掩码,FileAttributes attrs) <0x7f11f1ba7700 + 0x00066> in:0getfiles (System. io . directory . getfiles)字符串路径,系统。字符串搜索模式)<0x7f11f1ba6d50 + 0x00018> in:0在njRAT.Form1。(系统。对象,系统。EventArgs) <0x4102ea90 + 0x006ea> in:0在System. windows . forms . form . onload (EventArgs e) <0x410218f0 + 0x00071> in:0System. windows . forms . form . onloadinternalEventArgs e) <0x410216d0 + 0x0007f> in:0系统。NullReferenceException:对象引用没有设置为对象的实例在+。() <0x4103f510 + 0x001e6> in:0在njRAT.Form1。(系统。对象,System.Windows.Forms.FormClosingEventArgs) <0x4103e250 + 0x000ab> in:0System.Windows.Forms. onformclosingFormClosingEventArgs e) <0x4103e1c0 + 0x00065> in:0at System.Windows.Forms.Form.FireClosingEvents (CloseReason reason, Boolean cancel) <0x4103e070 + 0x0009d> in:0在(wrapper remoting-invoke-with-check)形式:FireClosingEvents (System.Windows.Forms.CloseReason bool)System.ComponentModel. exit ()CancelEventArgs e) <0x4103db20 + 0x001b7> in:0at System.Windows.Forms.Application.Exit () <0x4103dae0 + 0x00027> in:0System. windows . forms . application . onthreadexception (异常t) <0x4103d630 + 0x00147> in:0System. windows . forms . form . onloadinternalEventArgs e) <0x410216d0 + 0x00097> in:0at System.Windows.Forms.Form.OnCreateControl () <0x41020ef0 + 0x0004f> in:0at System.Windows.Forms.Control.CreateControl () <0x412a3170 + 0x0011f> in:0wmshowwindow (System.Windows.Forms.Message&M) <0x412ab7b0 + 0x00167> in:0System.Windows.Forms.Message&M) <0x412aa4a0 + 0x002d7> in:0在System.Windows.Forms.Message&M) <0x4101b3b0 + 0x00013> in:0System.Windows.Forms.Message&M) <0x4101b330 + 0x0005b> in:0System.Windows.Forms.Message&M) <0x4101af50 + 0x00257> in:0在System.Windows.Forms.Control + ControlWindowTarget。OnMessage (System.Windows.Forms.Message&M) <0x412aa470 + 0x00024> in:0在System.Windows.Forms.Control + ControlNativeWindow。指向(System.Windows.Forms.Message&M) <0x412aa430 + 0x00036> in:0at system . windows . forms . nativewindow . windowproc (IntPtr hWnd, Msg Msg, IntPtr wParam, IntPtr lParam) <0x412a8d70 + 0x0031c> in:0

未处理的例外:系统。NullReferenceException:对象引用没有设置为对象的实例在+。() <0x4103f510 + 0x001e6> in:0在njRAT.Form1。(系统。对象,System.Windows.Forms.FormClosingEventArgs) <0x4103e250 + 0x000ab> in:0System.Windows.Forms. onformclosingFormClosingEventArgs e) <0x4103e1c0 + 0x00065> in:0at System.Windows.Forms.Form.FireClosingEvents (CloseReason reason, Boolean cancel) <0x4103e070 + 0x0009d> in:0在(wrapper remoting-invoke-with-check)形式:FireClosingEvents (System.Windows.Forms.CloseReason bool)System.ComponentModel. exit ()CancelEventArgs e) <0x4103db20 + 0x001b7> in:0at System.Windows.Forms.Application.Exit () <0x4103dae0 + 0x00027> in:0System. windows . forms . application . onthreadexception (异常t) <0x4103d630 + 0x00147> in:0在System. windows . forms . nativewindows . onthreadexception (例外e) <0x41040a70 + 0x00013> in:0at system . windows . forms . nativewindow . windowproc (IntPtr hWnd, Msg Msg, IntPtr wParam, IntPtr lParam) <0x412a8d70 + 0x00b51> in:0在System.Windows.Forms.XplatUIX11。SendMessage (IntPtr hwnd, Msg message, IntPtr wParam, IntPtr lParam) <0x412a8650 + 0x0044f> in:0在System.Windows.Forms.XplatUIX11。MapWindow (System.Windows.Forms。Hwnd Hwnd, WindowType windows) <0x412ab2d0 + 0x001f3> in:0在System.Windows.Forms.XplatUIX11。CreateWindow (System.Windows.Forms。CreateParams cp) <0x412a37e0 + 0x00c53> in:0System.Windows.Forms. xplatui . createwindowCreateParams cp) <0x412a37b0 + 0x0001f> in:0在系统。windows . forms . nativewindow . createhandleCreateParams cp) <0x412a3700 + 0x0003f> in:0at System.Windows.Forms.Control.CreateHandle () <0x412a3420 + 0x00069> in:0at System.Windows.Forms.Form.CreateHandle () <0x41019c40 + 0x00027> in:0at System.Windows.Forms.Control.CreateControl () <0x412a3170 + 0x00087> in:0在System.Windows.Forms.Control.SetVisibleCore (Boolean value) <0x412b4bb0 + 0x00083> in:0at System.Windows.Forms.Form.SetVisibleCore(布尔值)<0x41019420 + 0x00317> in:0在System.Windows.Forms.Control。set_Visible (Boolean value) <0x412b4b30 + 0x00032> in:0在(wrapper remoting-invoke-with-check)控制:set_Visible(保龄球)at System.Windows.Forms.Application.RunLoop (Boolean Modal, System.Windows.Forms.ApplicationContext context) <0x41017ec0 + 0x0033f> in:0运行(System.Windows.Forms.)ApplicationContext context) <0x41017e10 + 0x00057> in:0运行(System.Windows.Forms.)表单mainForm) <0x41017dc0 + 0x00033> in:0. at Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.OnRun () <0x4125e9d0 + 0x00077> in:0在Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.Run (String[] commandLine) <0x4125e9b0 + 0x00010> in:0在。(系统。String[]) <0x4125bd50 + 0x00043> in:0致命的未处理异常:系统。NullReferenceException:对象引用没有设置为对象的实例在+。() <0x4103f510 + 0x001e6> in:0在njRAT.Form1。(系统。对象,System.Windows.Forms.FormClosingEventArgs) <0x4103e250 + 0x000ab> in:0System.Windows.Forms. onformclosingFormClosingEventArgs e) <0x4103e1c0 + 0x00065> in:0at System.Windows.Forms.Form.FireClosingEvents (CloseReason reason, Boolean cancel) <0x4103e070 + 0x0009d> in:0在(wrapper remoting-invoke-with-check)形式:FireClosingEvents (System.Windows.Forms.CloseReason bool)System.ComponentModel. exit ()CancelEventArgs e) <0x4103db20 + 0x001b7> in:0at System.Windows.Forms.Application.Exit () <0x4103dae0 + 0x00027> in:0System. windows . forms . application . onthreadexception (异常t) <0x4103d630 + 0x00147> in:0在System. windows . forms . nativewindows . onthreadexception (例外e) <0x41040a70 + 0x00013> in:0at system . windows . forms . nativewindow . windowproc (IntPtr hWnd, Msg Msg, IntPtr wParam, IntPtr lParam) <0x412a8d70 + 0x00b51> in:0在System.Windows.Forms.XplatUIX11。SendMessage (IntPtr hwnd, Msg message, IntPtr wParam, IntPtr lParam) <0x412a8650 + 0x0044f> in:0在System.Windows.Forms.XplatUIX11。MapWindow (System.Windows.Forms。Hwnd Hwnd, WindowType windows) <0x412ab2d0 + 0x001f3> in:0在System.Windows.Forms.XplatUIX11。CreateWindow (System.Windows.Forms。CreateParams cp) <0x412a37e0 + 0x00c53> in:0System.Windows.Forms. xplatui . createwindowCreateParams cp) <0x412a37b0 + 0x0001f> in:0在系统。windows . forms . nativewindow . createhandleCreateParams cp) <0x412a3700 + 0x0003f> in:0at System.Windows.Forms.Control.CreateHandle () <0x412a3420 + 0x00069> in:0at System.Windows.Forms.Form.CreateHandle () <0x41019c40 + 0x00027> in:0at System.Windows.Forms.Control.CreateControl () <0x412a3170 + 0x00087> in:0在System.Windows.Forms.Control.SetVisibleCore (Boolean value) <0x412b4bb0 + 0x00083> in:0at System.Windows.Forms.Form.SetVisibleCore(布尔值)<0x41019420 + 0x00317> in:0在System.Windows.Forms.Control。set_Visible (Boolean value) <0x412b4b30 + 0x00032> in:0在(wrapper remoting-invoke-with-check)控制:set_Visible(保龄球)at System.Windows.Forms.Application.RunLoop (Boolean Modal, System.Windows.Forms.ApplicationContext context) <0x41017ec0 + 0x0033f> in:0运行(System.Windows.Forms.)ApplicationContext context) <0x41017e10 + 0x00057> in:0运行(System.Windows.Forms.)表单mainForm) <0x41017dc0 + 0x00033> in:0. at Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.OnRun () <0x4125e9d0 + 0x00077> in:0在Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.Run (String[] commandLine) <0x4125e9b0 + 0x00010> in:0在。(系统。String[]) <0x4125bd50 + 0x00043> in:0

与警告无关,但稍后显示了一个异常。您的表单尝试从磁盘加载GeoIP文件,但它只使用Windows文件路径,这在Linux上肯定会失败。了解文件系统的差异并修改您的代码。

最新更新