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 は 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 に答える