我创建了下面的GitHub库记录的问题:https://github.com/red-swan/fake-sqlite-problem
我无法从F#sqlite
文件依托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
通过TeaDrivenDev
上述评论有解决方案。我把答案在这里,所以我可以关闭的问题。
具体而言,我发现本机DLL SQLite.Interop.dll
并把它放进了根文件夹,FAKE build.fsx
文件。文章TeaDrivenDev
引用有替代方法为好。