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

时间:2016-11-12 15:05:46

标签: linux mono debian exe wine

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

  

警告:此应用程序支持的运行时版本不可用。   使用默认运行时:v4.0.30319   无法打开文件/root/Desktop/tool\GeoIP.dat   System.IO.DirectoryNotFoundException:Directory' / root / Desktop / tool \ plugin \'未找到。     在System.IO.Directory.ValidateDirectoryListing(System.String path,System.String searchPattern,System.Boolean& stop)< 0x7f11f1ba74c0 + 0x0019c> in:0     在System.IO.Directory.GetFileSystemEntries(System.String path,System.String searchPattern,FileAttributes mask,FileAttributes attrs)< 0x7f11f1ba7700 + 0x00066> in:0     在System.IO.Directory.GetFiles(System.String path,System.String searchPattern)< 0x7f11f1ba6d50 + 0x00018> in:0     在njRAT.Form1。 (System.Object,System.EventArgs)< 0x4102ea90 + 0x006ea> in:0     在System.Windows.Forms.Form.OnLoad(System.EventArgs e)< 0x410218f0 + 0x00071> in:0     在System.Windows.Forms.Form.OnLoadInternal(System.EventArgs e)< 0x410216d0 + 0x0007f> in:0   System.NullReferenceException:未将对象引用设置为对象的实例     在+。 ()< 0x4103f510 + 0x001e6> in:0     在njRAT.Form1。 (System.Object,System.Windows.Forms.FormClosingEventArgs)< 0x4103e250 + 0x000ab> in:0     在System.Windows.Forms.Form.OnFormClosing(System.Windows.Forms.FormClosingEventArgs e)< 0x4103e1c0 + 0x00065> in:0     在System.Windows.Forms.Form.FireClosingEvents(CloseReason reason,Boolean cancel)< 0x4103e070 + 0x0009d> in:0     at(wrapper remoting-invoke-with-check)System.Windows.Forms.Form:FireClosingEvents(System.Windows.Forms.CloseReason,bool)     在System.Windows.Forms.Application.Exit(System.ComponentModel.CancelEventArgs e)< 0x4103db20 + 0x001b7> in:0     在System.Windows.Forms.Application.Exit()< 0x4103dae0 + 0x00027> in:0     在System.Windows.Forms.Application.OnThreadException(System.Exception t)< 0x4103d630 + 0x00147> in:0     在System.Windows.Forms.Form.OnLoadInternal(System.EventArgs e)< 0x410216d0 + 0x00097> in:0     在System.Windows.Forms.Form.OnCreateControl()< 0x41020ef0 + 0x0004f> in:0     在System.Windows.Forms.Control.CreateControl()< 0x412a3170 + 0x0011f> in:0     在System.Windows.Forms.Control.WmShowWindow(System.Windows.Forms.Message& m)< 0x412ab7b0 + 0x00167> in:0     在System.Windows.Forms.Control.WndProc(System.Windows.Forms.Message& m)< 0x412aa4a0 + 0x002d7> in:0     在System.Windows.Forms.ScrollableControl.WndProc(System.Windows.Forms.Message& m)< 0x4101b3b0 + 0x00013> in:0     在System.Windows.Forms.ContainerControl.WndProc(System.Windows.Forms.Message& m)< 0x4101b330 + 0x0005b> in:0     在System.Windows.Forms.Form.WndProc(System.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.WndProc(System.Windows.Forms.Message& m)< 0x412aa430 + 0x00036> in:0     在System.Windows.Forms.NativeWindow.WndProc(IntPtr hWnd,Msg msg,IntPtr wParam,IntPtr lParam)< 0x412a8d70 + 0x0031c> in:0

     

未处理的例外情况:   System.NullReferenceException:未将对象引用设置为对象的实例     在+。 ()< 0x4103f510 + 0x001e6> in:0     在njRAT.Form1。 (System.Object,System.Windows.Forms.FormClosingEventArgs)< 0x4103e250 + 0x000ab> in:0     在System.Windows.Forms.Form.OnFormClosing(System.Windows.Forms.FormClosingEventArgs e)< 0x4103e1c0 + 0x00065> in:0     在System.Windows.Forms.Form.FireClosingEvents(CloseReason reason,Boolean cancel)< 0x4103e070 + 0x0009d> in:0     at(wrapper remoting-invoke-with-check)System.Windows.Forms.Form:FireClosingEvents(System.Windows.Forms.CloseReason,bool)     在System.Windows.Forms.Application.Exit(System.ComponentModel.CancelEventArgs e)< 0x4103db20 + 0x001b7> in:0     在System.Windows.Forms.Application.Exit()< 0x4103dae0 + 0x00027> in:0     在System.Windows.Forms.Application.OnThreadException(System.Exception t)< 0x4103d630 + 0x00147> in:0     在System.Windows.Forms.NativeWindow.OnThreadException(System.Exception e)< 0x41040a70 + 0x00013> in:0     在System.Windows.Forms.NativeWindow.WndProc(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:0     在System.Windows.Forms.XplatUI.CreateWindow(System.Windows.Forms.CreateParams cp)< 0x412a37b0 + 0x0001f> in:0     在System.Windows.Forms.NativeWindow.CreateHandle(System.Windows.Forms.CreateParams cp)< 0x412a3700 + 0x0003f> in:0     在System.Windows.Forms.Control.CreateHandle()< 0x412a3420 + 0x00069> in:0     在System.Windows.Forms.Form.CreateHandle()< 0x41019c40 + 0x00027> in:0     在System.Windows.Forms.Control.CreateControl()< 0x412a3170 + 0x00087> in:0     在System.Windows.Forms.Control.SetVisibleCore(布尔值)< 0x412b4bb0 + 0x00083> in:0     在System.Windows.Forms.Form.SetVisibleCore(布尔值)< 0x41019420 + 0x00317> in:0     在System.Windows.Forms.Control.set_Visible(布尔值)< 0x412b4b30 + 0x00032> in:0     at(wrapper remoting-invoke-with-check)System.Windows.Forms.Control:set_Visible(bool)     在System.Windows.Forms.Application.RunLoop(Boolean Modal,System.Windows.Forms.ApplicationContext context)< 0x41017ec0 + 0x0033f> in:0     在System.Windows.Forms.Application.Run(System.Windows.Forms.ApplicationContext context)< 0x41017e10 + 0x00057> in:0     在System.Windows.Forms.Application.Run(System.Windows.Forms.Form mainForm)< 0x41017dc0 + 0x00033> in:0     在Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.OnRun()< 0x4125e9d0 + 0x00077> in:0     在Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.Run(System.String [] commandLine)< 0x4125e9b0 + 0x00010> in:0     在 。 (System.String [])< 0x4125bd50 + 0x00043> in:0   [ERROR] FATAL UNHANDLED EXCEPTION:System.NullReferenceException:对象引用未设置为对象的实例     在+。 ()< 0x4103f510 + 0x001e6> in:0     在njRAT.Form1。 (System.Object,System.Windows.Forms.FormClosingEventArgs)< 0x4103e250 + 0x000ab> in:0     在System.Windows.Forms.Form.OnFormClosing(System.Windows.Forms.FormClosingEventArgs e)< 0x4103e1c0 + 0x00065> in:0     在System.Windows.Forms.Form.FireClosingEvents(CloseReason reason,Boolean cancel)< 0x4103e070 + 0x0009d> in:0     at(wrapper remoting-invoke-with-check)System.Windows.Forms.Form:FireClosingEvents(System.Windows.Forms.CloseReason,bool)     在System.Windows.Forms.Application.Exit(System.ComponentModel.CancelEventArgs e)< 0x4103db20 + 0x001b7> in:0     在System.Windows.Forms.Application.Exit()< 0x4103dae0 + 0x00027> in:0     在System.Windows.Forms.Application.OnThreadException(System.Exception t)< 0x4103d630 + 0x00147> in:0     在System.Windows.Forms.NativeWindow.OnThreadException(System.Exception e)< 0x41040a70 + 0x00013> in:0     在System.Windows.Forms.NativeWindow.WndProc(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:0     在System.Windows.Forms.XplatUI.CreateWindow(System.Windows.Forms.CreateParams cp)< 0x412a37b0 + 0x0001f> in:0     在System.Windows.Forms.NativeWindow.CreateHandle(System.Windows.Forms.CreateParams cp)< 0x412a3700 + 0x0003f> in:0     在System.Windows.Forms.Control.CreateHandle()< 0x412a3420 + 0x00069> in:0     在System.Windows.Forms.Form.CreateHandle()< 0x41019c40 + 0x00027> in:0     在System.Windows.Forms.Control.CreateControl()< 0x412a3170 + 0x00087> in:0     在System.Windows.Forms.Control.SetVisibleCore(布尔值)< 0x412b4bb0 + 0x00083> in:0     在System.Windows.Forms.Form.SetVisibleCore(布尔值)< 0x41019420 + 0x00317> in:0     在System.Windows.Forms.Control.set_Visible(布尔值)< 0x412b4b30 + 0x00032> in:0     at(wrapper remoting-invoke-with-check)System.Windows.Forms.Control:set_Visible(bool)     在System.Windows.Forms.Application.RunLoop(Boolean Modal,System.Windows.Forms.ApplicationContext context)< 0x41017ec0 + 0x0033f> in:0     在System.Windows.Forms.Application.Run(System.Windows.Forms.ApplicationContext context)< 0x41017e10 + 0x00057> in:0     在System.Windows.Forms.Application.Run(System.Windows.Forms.Form mainForm)< 0x41017dc0 + 0x00033> in:0     在Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.OnRun()< 0x4125e9d0 + 0x00077> in:0     在Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.Run(System.String [] commandLine)< 0x4125e9b0 + 0x00010> in:0     在 。 (System.String [])< 0x4125bd50 + 0x00043> in:0

1 个答案:

答案 0 :(得分:0)

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