.net – FluentMigrator.Runner在输出目录中复制32位汇编

我有一个迁移项目,引用了FluentMigrator.Runner.此程序集引用32位版本的System.Data.SQLite.dll.因此,如果我将此项目部署到我们的64位服务器,我会得到一个例外:

An attempt was made to load a program with an incorrect format.

我甚至不需要SQLite,如果我删除解决方案中的每个System.Data.SQLite.dll一切正常.但我正在寻找一种更好的解决方法…因为如果更新了FluentMigrator,我将再次使用这个32位组件.

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

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

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

最佳答案 我通过安装
System.Data.SQLite.x64 nuget包解决了这个问题.

点赞