我的设置有点复杂:
a)我在使用它的DLL中包含Tesseract 3.02 DLL(ScanDoc.dll);
b)我在控制台应用程序中包含ScanDoc.dll;
c)我在网站MVC应用程序中包含ScanDoc.dll。
什么是奇怪的是b工作得很好,但是对于c我一直得到:
System.DllNotFoundException:无法为平台x86找到库“liblept172.dll”。
对于b和c,从我的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会导致此错误但不会导致控制台应用程序使用? (我尝试改变Any CPU / 64/86之间的构建配置,但没有用。)