4

我有一个引用 FluentMigrator.Runner 的迁移项目。此程序集引用 System.Data.SQLite.dll 的 32 位版本。因此,如果我将此项目部署到我们的 64 位服务器上,则会出现异常:

试图加载格式不正确的程序。

我什至不需要 SQLite,如果我删除解决方案中的每个 System.Data.SQLite.dll 一切正常。但我正在寻找更好的方法来解决这个问题......因为如果 FluentMigrator 更新,我将再次拥有这个 32 位程序集。

有没有办法告诉 Visual Studio 不要将此间接引用的程序集复制到输出目录?还是有比删除所有不需要的 dll 更好的解决方案?

编辑:我正在使用 FluentMigrator 的最新 Nuget 包(1.0.1.0)

Edit2:我从 FluentMigrator.Tools NuGet-Package 中引用了 FluentMigrator.Runner.dll 的 AnyCPU 版本,因为 FluentMigrator-Package 中的 FluentMigrator.Runner.dll 也只有 32 位。但我的问题是 System.Data.SQLite.dll 是 32 位版本。FluentMigrator.Tools 包的 AnyCPU 文件夹中还有另一个 System.Data.SQLite.dll,但是这个 DLL 是二进制等于 32 位版本的(为什么??)...

4

1 回答 1

2

I resolved this issue by installing the System.Data.SQLite.x64 nuget package.

于 2011-11-22T16:21:26.817 回答