2

我通过以下代码在 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 was Unhandle:
混合模式程序集是针对运行时的“v2.0.50727”版本构建的,如果没有其他配置信息,则无法在 4.0 运行时中加载。


你知道如何解决这个问题吗?

亲切的
问候

4

2 回答 2

8

尝试添加

<configuration>
    <startup useLegacyV2RuntimeActivationPolicy="true">
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
    </startup>
</configuration>

到您的 App.config。

这使您能够引用该 DLL,而无需更改整个项目的框架版本。

于 2012-09-01T23:05:26.780 回答
1

我认为将项目的目标框架从 4.0 更改为 2.0 会有所帮助。

请参阅:更改现有项目的目标 .NET Framework 版本或配置文件

在此处输入图像描述

于 2012-08-14T02:17:20.423 回答