C# Tesseract 3.02未能找到库“;liblept172.dll“;网站错误
我的设置有点复杂: a) 我将Tesseract 3.02 DLL包含在使用它的DLL(ScanDoc.DLL)中 b) 我在控制台应用程序中包括ScanDoc.dll c) 我将ScanDoc.dll包含在网站MVC应用程序中 奇怪的是b工作正常,但对于c,我一直得到: System.DllNotFoundException:未能找到平台x86的库“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
对于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))