我已经用Visual Studio 2013编写了一个C#.NET 4.5 WinForms应用程序。现在,我想在我的Linux机器(薄荷17.1)上运行带有Mono的该应用程序。
我已经完成了以下步骤:
该应用程序无法启动,但是我看到了一个异常,它没有给我任何有关可能出问题的提示。这是例外:
Unhandled Exception:
System.ArgumentException: dataMember
at System.Windows.Forms.ListBindingHelper.GetList (System.Object dataSource, System.String dataMember) [0x00000] in <filename unknown>:0
at System.Windows.Forms.BindingSource.ResetList () [0x00000] in <filename unknown>:0
at System.Windows.Forms.BindingSource.set_DataMember (System.String value) [0x00000] in <filename unknown>:0
at (wrapper remoting-invoke-with-check) System.Windows.Forms.BindingSource:set_DataMember (string)
at mda.vaulty.main.Database.VaultManagment.InitializeBindingSources () [0x00000] in <filename unknown>:0
at mda.vaulty.main.Database.VaultManagment..ctor () [0x00000] in <filename unknown>:0
at mda.vaulty.main.MainForm..ctor () [0x00000] in <filename unknown>:0
at (wrapper remoting-invoke-with-check) mda.vaulty.main.MainForm:.ctor ()
at mda.vaulty.main.Program.Main () [0x00000] in <filename unknown>:0
[ERROR] FATAL UNHANDLED EXCEPTION: System.ArgumentException: dataMember
at System.Windows.Forms.ListBindingHelper.GetList (System.Object dataSource, System.String dataMember) [0x00000] in <filename unknown>:0
at System.Windows.Forms.BindingSource.ResetList () [0x00000] in <filename unknown>:0
at System.Windows.Forms.BindingSource.set_DataMember (System.String value) [0x00000] in <filename unknown>:0
at (wrapper remoting-invoke-with-check) System.Windows.Forms.BindingSource:set_DataMember (string)
at mda.vaulty.main.Database.VaultManagment.InitializeBindingSources () [0x00000] in <filename unknown>:0
at mda.vaulty.main.Database.VaultManagment..ctor () [0x00000] in <filename unknown>:0
at mda.vaulty.main.MainForm..ctor () [0x00000] in <filename unknown>:0
at (wrapper remoting-invoke-with-check) mda.vaulty.main.MainForm:.ctor ()
at mda.vaulty.main.Program.Main () [0x00000] in <filename unknown>:0
该项目是一个.NET 4.5项目,据我所知,它与Mono完全兼容。我正在使用强类型的DataSet,具有DataBindings的DataGrid和用户特定的应用程序设置。这些组件之一可能引起问题吗?app.config由xbuild进程创建,它包含预期的内容(具有默认值的应用程序设置)。
xbuild编译器还创建了一个mdb文件。但是这个文件对我来说是未知的,因为VS2013不会创建这样的文件。
您是否知道为什么应用程序无法启动?
谢谢,
问候,
麦可
at (wrapper remoting-invoke-with-check) System.Windows.Forms.BindingSource:set_DataMember (string) at mda.vaulty.main.Database.VaultManagment.InitializeBindingSources () [0x00000] in <filename unknown>:0 at mda.vaulty.main.Database.VaultManagment..ctor () [0x00000] in <filename unknown>:0 at mda.vaulty.main.MainForm..ctor () [0x00000] in <filename unknown>:0
似乎您没有在Linux / Mint框中定义数据库/数据源,因此没有文件名异常。开箱即用,Mono提供了SQLite安装,仅此而已。一次有(多个)ODBC提供程序可用于各种Linux(请与您的DB提供程序联系)。
这个Moma当然不会被检查。
另外,我建议在Windows框的Mono下运行它。安装Windows版本的mono,然后尝试运行您的应用程序。
顺便说一句:mdb文件是用于调试版本的pdb文件的mono版本。它们包含额外的信息(用于软调试器(即gdb)的源文件,符号等的完全限定路径。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句