伪造/打包“找不到指定的模块”在构建文件中

时间:2019-02-06 23:52:16

标签: dll f# .net-assembly f#-fake paket

我创建了以下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

1 个答案:

答案 0 :(得分:1)

上述TeaDrivenDev的注释已解决。我将答案放在这里,以便我结束问题。

具体地说,我找到了本机dll SQLite.Interop.dll,并将其放入了FAKE build.fsx文件所在的根文件夹中。 TeaDrivenDev条参考文献还提供了其他方法。