构建文件中的假/包"specified module could not be found"



我创建了以下Github存储库来记录问题:https://github.com/red-swan/fake-sqlite-problem

我无法从依赖于Paket的 F# FAKE 文件构建sqlite数据库。将 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 是位于System.Data.SQLite 的依赖System.Data.SQLite.Core的依赖runtimeswin-x64nativenetstandard2.0。尝试直接引用它 #r 语句在build.fsx中失败并显示错误:

Error opening binary file ... bad cli header, rva

我不确定应该如何解决所有问题,但是从实际fsproj运行数据库创建工作得很好,所以我相信这与FAKEPaket分辨率有关。

如果您熟悉FAKE,这听起来合理吗?你知道怎么解决这个问题吗?

要重现错误,请执行以下操作: git clone https://github.com/red-swan/fake-sqlite-problem.git

TeaDrivenDev的上述评论有解决方案。我把答案放在这里,这样我就可以结束这个问题了。

具体来说,我找到了本机 dll SQLite.Interop.dll并将其放入 FAKE build.fsx 文件所在的根文件夹中。参考文献TeaDrivenDev文章也有替代方法。

相关内容

  • 没有找到相关文章

最新更新