我创建了以下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
或{{1} } 解析度。
如果您熟悉Paket
,听起来合理吗?你知道如何解决这个问题吗?
要重现该错误:
FAKE
答案 0 :(得分:1)
上述TeaDrivenDev
的注释已解决。我将答案放在这里,以便我结束问题。
具体地说,我找到了本机dll SQLite.Interop.dll
,并将其放入了FAKE build.fsx
文件所在的根文件夹中。 TeaDrivenDev
条参考文献还提供了其他方法。