FluentMigrator.Runner を参照する移行プロジェクトがあります。このアセンブリは、System.Data.SQLite.dll の 32 ビット バージョンを参照します。したがって、このプロジェクトを 64 ビット サーバーにデプロイすると、例外が発生します。
不正な形式のプログラムをロードしようとしました。
ソリューション内のすべての System.Data.SQLite.dll を削除すると、SQLite も必要ありません。すべて正常に動作します。しかし、これを解決するためのより良い方法を探しています... FluentMigrator が更新された場合、この 32 ビット アセンブリが再び使用されるためです。
この間接参照アセンブリを出力ディレクトリにコピーしないように Visual Studio に指示する方法はありますか? または、不要な dll をすべて削除するよりも良い解決策はありますか?
編集: FluentMigrator (1.0.1.0) の最新の Nuget パッケージを使用しています
Edit2: FluentMigrator-Package の FluentMigrator.Runner.dll も 32 ビットのみであるため、FluentMigrator.Tools NuGet-Package の FluentMigrator.Runner.dll の AnyCPU バージョンを参照しています。しかし、私の問題は、32 ビット版の System.Data.SQLite.dll です。FluentMigrator.Tools パッケージの AnyCPU フォルダに別の System.Data.SQLite.dll がありますが、この DLL は 32bit 版と同等のバイナリです (なぜ??)...