FluentMigrator.Runner копирует 32-битную сборку в выходной каталог - PullRequest
4 голосов
/ 28 октября 2011

У меня есть проект миграции со ссылкой на FluentMigrator.Runner. Эта сборка ссылается на 32-битную версию System.Data.SQLite.dll. Поэтому, если я разверну этот проект на нашем 64-битном сервере, я получу исключение:

Была предпринята попытка загрузить программу с неверным форматом.

Мне даже не нужен SQLite, если я удаляю все файлы System.Data.SQLite.dll в решении, все работает нормально. Но я ищу лучший способ решить эту проблему ... Потому что, если FluentMigrator будет обновлен, у меня снова будет эта 32-битная сборка.

Есть ли способ сказать Visual Studio не копировать эту сборку с косвенной ссылкой в ​​выходной каталог? Или есть ли лучшие решения, чем удаление всех ненужных dll?

Редактировать: я использую самый последний пакет Nuget от FluentMigrator (1.0.1.0)

Edit2: я ссылаюсь на версию FluentMigrator.Runner.dll в AnyCPU из пакета NuGet FluentMigrator.Tools, поскольку FluentMigrator.Runner.dll из пакета FluentMigrator также является только 32-разрядным. Но моя проблема - System.Data.SQLite.dll, которая является 32-битной версией. В папке AnyCPU пакета FluentMigrator.Tools есть еще один файл System.Data.SQLite.dll, но эта двоичная библиотека DLL равна 32-разрядной версии (почему ??) ...

1 Ответ

2 голосов
/ 22 ноября 2011

Я решил эту проблему, установив пакет nuget System.Data.SQLite.x64 .

...