使用Tesseract OCR软件时,在Linqpad中未找到dll异常

使用Tesseract OCR软件时,在Linqpad中未找到dll异常,dll,tesseract,linqpad,Dll,Tesseract,Linqpad,我正在尝试使用Linqpad中的TesseractOCR软件。我采取了以下步骤: 1) 我使用中的安装程序安装了Tesseract 3.02 2) 我通过nuget在Linqpad中添加了对Tesseract的引用,这正是下面的包:Tesseract ocr的.Net包装 3) 我在PATH变量中添加了Tesseract二进制文件的路径,该文件还包含两个本机dll库 4) 我按照中的建议安装了Visual Studio x86和x64运行时 但是,当我尝试在Linqpad中使用tessera

我正在尝试使用
Linqpad
中的
Tesseract
OCR软件。我采取了以下步骤:

1) 我使用中的安装程序安装了Tesseract 3.02

2) 我通过nuget在Linqpad中添加了对Tesseract的引用,这正是下面的包:Tesseract ocr的.Net包装

3) 我在PATH变量中添加了Tesseract二进制文件的路径,该文件还包含两个本机dll库

4) 我按照中的建议安装了Visual Studio x86和x64运行时

但是,当我尝试在
Linqpad
中使用
tesseract
时,出现以下错误:

DllNotFoundException:未能找到平台x86的库“liblept168.dll”

我认为问题与如何在Linqpad中使用
本机dll
有关


如何解决此问题?

LINQpad和Tesseract nuget包之间的不兼容是由于
InteropodNet
库在运行时加载本机程序集的方式造成的

您可以将以下方法添加到添加了Tesseract nuget包的LINQpad查询中,它应该允许InteropDownet库找到它所需的本机程序集

静态无效复制库(字符串版本、字符串平台)
{
var destFolder=Path.Combine(Environment.CurrentDirectory,platform);
创建目录(destFolder);
var tessNugetFolder=new LINQPad.ObjectModel.NuGetReference(“Tesseract”)
.GetPackageFolders()
.First(folderName=>folderName.Contains($@“Tesseract\{tesservision}”);
var platformFiles=Directory.GetFiles(Path.Combine(tessNugetFolder,platform));
foreach(platformFiles中的var文件)
{
var fileInfo=新文件信息(文件);
var destFile=Path.Combine(destFolder,fileInfo.Name);
如果(!File.Exists(destFile))
{
fileInfo.CopyTo(destFile,true);
}
}
}

LINQpad和Tesseract nuget包之间的不兼容是由于
InteropodNet
库在运行时加载本机程序集的方式造成的

您可以将以下方法添加到添加了Tesseract nuget包的LINQpad查询中,它应该允许InteropDownet库找到它所需的本机程序集

静态无效复制库(字符串版本、字符串平台)
{
var destFolder=Path.Combine(Environment.CurrentDirectory,platform);
创建目录(destFolder);
var tessNugetFolder=new LINQPad.ObjectModel.NuGetReference(“Tesseract”)
.GetPackageFolders()
.First(folderName=>folderName.Contains($@“Tesseract\{tesservision}”);
var platformFiles=Directory.GetFiles(Path.Combine(tessNugetFolder,platform));
foreach(platformFiles中的var文件)
{
var fileInfo=新文件信息(文件);
var destFile=Path.Combine(destFolder,fileInfo.Name);
如果(!File.Exists(destFile))
{
fileInfo.CopyTo(destFile,true);
}
}
}

请参见,遗憾的是,仅将“不阴影程序集引用”设置为true是不够的。我也有同样的例外。很遗憾,仅将“不阴影程序集引用”设置为true是不够的。我也有同样的例外。