小さなプロジェクトに SQLite を使用することにしました。しかし、私は問題に遭遇しました。SQLite には 2 つの異なる .dll ファイルが付属しています。そのうちの 1 つを参照として追加しました。もう1つは「有効なアセンブリまたはCOMコンポーネントではない」ため、参照として追加できません。ただし、最初の .dll (参照として既に追加されているもの) がそれを見つけることができるフォルダーにある必要があるだけなので、それは問題ではありません。したがって、当然のことながら、UserControls を使い始めるまでは正常に動作するビルド ディレクトリにコピーします。
私のユーザーコントロールには、ビューモデルを介してデータベースアイテムへのデータバインディングが含まれています。私がそれを正しく理解していれば、デザイナーでユーザーコントロールを表示するために、プログラムを実行したかのようにビルドされます。問題は、それらがデザイナに組み込まれているときにデータバインディングも作成されるため、いくつかの小さなデータベースクエリが実行されることです。しかし、ユーザーコントロールがデザイナー用に構築され、それらのクエリを実行しようとすると、最初の .dll (含まれているもの) から dllnotfoundexception が発生します。2 つ目は見つかりません。
2 番目の .dll を GAC に追加すると、最初の .dll がそれを見つけるのに役立つと思いましたが、gacutil によると「モジュールにはアセンブリ マニフェストが含まれていると予想されていた」ため、できなかったようです。
これを解決する良い方法はありますか?私は愚かで、明らかなことを見落としているだけですか?問題を説明する際にできるだけ明確にしようとしましたが、不明な点がある場合はお問い合わせください。
前もって感謝します。
編集: 明確にするために、デザイナー モードでユーザー コントロールを開いたときに発生する DllNotFoundException により、ビジュアル スタジオがクラッシュします。