Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/282.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
C# Tesseract 3.02未能找到库“;liblept172.dll“;网站错误_C#_Dll_Tesseract - Fatal编程技术网

C# Tesseract 3.02未能找到库“;liblept172.dll“;网站错误

C# Tesseract 3.02未能找到库“;liblept172.dll“;网站错误,c#,dll,tesseract,C#,Dll,Tesseract,我的设置有点复杂: a) 我将Tesseract 3.02 DLL包含在使用它的DLL(ScanDoc.DLL)中 b) 我在控制台应用程序中包括ScanDoc.dll c) 我将ScanDoc.dll包含在网站MVC应用程序中 奇怪的是b工作正常,但对于c,我一直得到: System.DllNotFoundException:未能找到平台x86的库“liblept172.dll” 对于b和c,从my DLL到x86和x64文件夹的相对路径对于控制台和Web应用程序的bin文件夹是相同的: b

我的设置有点复杂:

a) 我将Tesseract 3.02 DLL包含在使用它的DLL(ScanDoc.DLL)中

b) 我在控制台应用程序中包括ScanDoc.dll

c) 我将ScanDoc.dll包含在网站MVC应用程序中

奇怪的是b工作正常,但对于c,我一直得到:

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


对于b和c,从my DLL到x86和x64文件夹的相对路径对于控制台和Web应用程序的bin文件夹是相同的:

b) 控制台:tessdata、x64和x86与我的ScanDoc.dll位于同一目录中

c) 网站:tessdata、x64和x86与我的ScanDoc.dll位于同一目录中


进一步:

a) ScanDoc.dll:tessdata、x64和x86与我的ScanDoc.dll位于同一目录中

我正在同一台机器(64位)上以调试模式构建所有组件。此外:

  • tessdata文件夹包含:eng.traineddata

  • x64文件夹包含:liblept172.dll、libtesseract304.dll

  • x86文件夹包含:liblept172.dll、libtesseract304.dll


有没有想过为什么网站使用上述DLL会导致此错误,而不是控制台应用程序的使用?(我尝试在任何CPU/64/86之间改变构建配置,但没有效果。)

它是否提供了DLL的预期位置以及异常?对于网站,这些DLL是否放在bin目录下?不,它不会给出预期的位置,诊断配置也不会向文件写入任何内容(尽管它确实创建了该文件)。是的,DLL和x86/x64文件夹在website bin文件夹中。你能在本地调试web应用程序,看看它在你的机器上是否正常工作吗?是的,很遗憾,它没有告诉我很多。如果我遍历代码,无论我如何填充目录,当它在ScanDoc.dll中出现时,我都会得到相同的错误:使用(var tesserEngine=new TesseractEngine(tessdataDirectory,“eng”,EngineMode.TesseractOnly))