Подделка / Пакет "указанный модуль не найден" в файле сборки - PullRequest
0 голосов
/ 07 февраля 2019

Я создал следующее 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 Ответ

0 голосов
/ 07 февраля 2019

Комментарий выше TeaDrivenDev имеет решение.Я помещаю ответ здесь, чтобы я мог закрыть вопрос.

Чтобы быть точным, я нашел Native dll SQLite.Interop.dll и поместил его в корневую папку, где находится файл FAKE build.fsx.В статье TeaDrivenDev ссылки есть и альтернативные методы.

...