我在C#中使用Tessnet2 ocr,代码如下:
tessnet2.Tesseract ocr = new tessnet2.Tesseract();
ocr.SetVariable("tessedit_char_whitelist", "0123456789");
ocr.Init(Application.StartupPath + @"D:\\Program Files (x86)\\Visual Studio 2010\\Projects\\AForgeTest2\\AForgeTest2\\tessdata\\", "eng", true);
List<tessnet2.Word> result = ocr.DoOCR(numberTest, Rectangle.Empty);
string code = result[0].Text;
testBox1.Text = code;
但是当我运行调试时,它会在第5行显示错误消息:
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());//the line with error
}
FileLoadException是Unhandle:
混合模式程序集是根据运行时的版本“v2.0.50727”构建的,如果没有其他配置信息,则无法在4.0运行时加载。
你知道如何解决这个问题吗?
亲切的问候 GAV
答案 0 :(得分:8)
尝试添加
<configuration>
<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
</startup>
</configuration>
到您的App.config。
这使您可以引用该DLL而无需更改整个项目的框架版本。
答案 1 :(得分:1)
我认为将项目的目标框架从4.0更改为2.0将有所帮助。
请参阅:Changing the Target .NET Framework Version or Profile for an Existing Project