私は現在、MySQL.Data と System.Data.Sqlite dll および他のいくつかを利用する C# WPF プロジェクトに取り組んでいます。
このプロジェクトは、開発マシンで問題なく動作する .Net 4 プロジェクトです。MSI インストーラー パッケージを作成し、実行可能ファイルを追加すると、Visual Studio は依存関係を解決し、必要な DLL を EXE と共に追加します。
開発マシンでインストーラーを実行すると、すべて正常に動作します。ただし、インストーラーを .Net Framework 3.5 および .Net Framework 4 がインストールされた空の仮想マシンにコピーすると、インストーラーはすべてが正常にインストールされたと表示し、プログラム ファイル フォルダーを見ると、すべての DLL も存在しますが、ソフトウェアを実行しようとすると、ソフトウェアがロードされず、.Net ランタイム エラーがイベント ビューアーに表示されます。
エラーは次のとおりです
アプリケーション: MySQLBackup.exe フレームワーク バージョン: v4.0.30319 説明: 未処理の例外のため、プロセスが終了しました。例外情報: System.IO.FileLoadException スタック: System.Windows.Application.< .ctor>b__1(System.Object) の System.Windows.Threading.ExceptionWrapper.InternalRealCall(System.Delegate, System.Object, Int32) の MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(System.Object, System.Delegate, System .Object、Int32、System.Delegate) の System.Windows.Threading.DispatcherOperation.InvokeImpl() の System.Windows.Threading.DispatcherOperation.InvokeInSecurityContext(System.Object) の System.Threading.ExecutionContext。
エラーメッセージは何が問題なのかを理解するのに実際には役立たないので、アプリケーションの起動イベントで try catch ステートメントを追加しましたが、例外は決してキャッチされません。また、ロードする必要がある最初のダイアログ ウィンドウで実行される try catch aroundInitialiseComponent()
メソッドを追加しましたが、ここでも catch がキャッチされないため、エラーの原因がわかりません。
この問題が何であるかを理解し、修正するにはどうすればよいですか?