Visual Studio 2013 で C# .NET 4.5 WinForms アプリケーションを作成しました。このアプリケーションを Linux マシン (Mint 17.1) で Mono で実行したいと考えています。
私はすでに次の手順を実行しました。
- Mono Migration Analyzerを使用して Windows で .exe を分析しました
- Moma のすべてのテストに合格しました (RTL プロパティを調整する必要がありました)
- インストールされた mono-complete (apt-get install mono-complete、現在のバージョンは 3.2.8)
- xbuild (オプションなし) でコンパイルされた私の csproj ファイル (0 エラー 1 警告: /usr/lib/mono/4.5/Microsoft.Common.targets: 警告: 参照 'System.Deployment' が解決されていません)
- コンソールから ./app.exe でアプリケーションを起動しようとしました
アプリケーションは起動しませんが、例外が表示されますが、何が問題なのかについてのヒントはありません。例外は次のとおりです。
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 を備えた DataGrids、およびユーザー固有のアプリケーション設定を使用しています。これらのコンポーネントの 1 つが問題を引き起こしている可能性はありますか? app.config は xbuild プロセスによって作成され、期待されるコンテンツ (デフォルト値のアプリ設定) が含まれています。
また、xbuild コンパイラによって作成されるのは、mdb ファイルです。しかし、VS2013はそのようなものを作成しないため、このファイルは私には不明です。
アプリケーションが起動しない理由がわかりましたか?
ありがとう、
よろしく、
マイケル