Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/fsharp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Dll “假冒/包装”;找不到指定的模块";内置文件_Dll_F#_.net Assembly_F# Fake_Paket - Fatal编程技术网

Dll “假冒/包装”;找不到指定的模块";内置文件

Dll “假冒/包装”;找不到指定的模块";内置文件,dll,f#,.net-assembly,f#-fake,paket,Dll,F#,.net Assembly,F# Fake,Paket,我创建了以下Github repo来记录问题: 我无法依靠Paket从F#FAKE文件构建sqlite数据库。将nuget包System.Data.SQLite添加到paket.dependencies意味着我可以打开System.Data.SQLite,但是当试图从build.fsx文件构建数据库时,我遇到以下错误: (无法加载DLL'SQLite.Interop.DLL'或其依赖项之一:找不到指定的模块。(HRESULT异常:0x8007007E)) SQLite.Interop.dll位

我创建了以下Github repo来记录问题:

我无法依靠
Paket
从F#
FAKE
文件构建
sqlite
数据库。将nuget包
System.Data.SQLite
添加到
paket.dependencies
意味着我可以
打开System.Data.SQLite
,但是当试图从
build.fsx
文件构建数据库时,我遇到以下错误:

(无法加载DLL'SQLite.Interop.DLL'或其依赖项之一:找不到指定的模块。(HRESULT异常:0x8007007E))

SQLite.Interop.dll
位于
System.Data.SQLite
的依赖项
System.Data.SQLite.Core
的依赖项
runtimes\win-x64\native\netstandard2.0
中。尝试使用
build.fsx
中的和
#r
语句直接引用它失败,错误如下:

打开二进制文件时出错。。。错误的cli头,rva

我不确定应该如何解决所有问题,但从实际的
fsproj
运行数据库创建工作正常,因此我相信这与
false
Paket
解决方案有关

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

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

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


具体地说,我找到了本机dll
SQLite.Interop.dll
,并将其放入了伪
build.fsx
文件所在的根文件夹中。文章
TeaDrivenDev
references也有其他方法。

我认为这与FAKE或Paket本身无关,而是与FSI中用于运行脚本的DLL发现有关。看一看,你做到了。非常感谢。