Подделка / Пакет "указанный модуль не найден" в файле сборки
Я создал следующее Github-репо для документирования проблемы: https://github.com/red-swan/fake-sqlite-problem
Я не могу построить sqlite
базы данных из F# FAKE
файл, полагающийся на Paket
, Добавление пакета nuget System.Data.SQLite
к paket.dependencies
значит я могу open System.Data.SQLite
но при попытке создать базу данных из build.fsx
файл, я получаю следующую ошибку:
(Unable to load DLL 'SQLite.Interop.dll' or one of its dependencies: The specified module could not be found. (Exception from HRESULT: 0x8007007E))
SQLite.Interop.dll
находится в зависимости runtimes\win-x64\native\netstandard2.0
из System.Data.SQLite
зависимость System.Data.SQLite.Core
, Попытка сослаться на это напрямую и #r
заявление в build.fsx
не удается с ошибкой:
Error opening binary file ... bad cli header, rva
Я не уверен, как все должно разрешиться, но запуск создания базы данных из фактического fsproj
работает просто отлично, поэтому я считаю, что это связано с FAKE
или же Paket
разрешающая способность.
Если вы знакомы с FAKE
это звучит разумно? Вы знаете, как это исправить?
Чтобы воспроизвести ошибку:git clone https://github.com/red-swan/fake-sqlite-problem.git
1 ответ
Приведенный выше комментарий TeaDrivenDev
есть решение. Я помещаю ответ здесь, чтобы я мог закрыть вопрос.
Чтобы быть конкретным, я нашел родную DLL SQLite.Interop.dll
и бросил его в корневую папку, где подделка build.fsx
файл есть. Статья TeaDrivenDev
У ссылок есть и альтернативные методы.