Не удается найти ссылку на сборку при компиляции для Windows Mobile - PullRequest
2 голосов
/ 29 января 2010

Я решил использовать библиотеку tessnet2 для моего проекта Windows Mobile 6. К сожалению, пока я пытаюсь его скомпилировать, выдается ошибка:

  1. Наилучшее совпадение перегруженного метода для 'tessnet2.Tesseract.GetThresholdedImage (System.Drawing.Bitmap, System.Drawing.Rectangle)' имеет недопустимые аргументы

  2. Тип 'System.Drawing.Rectangle' определен в сборке, на которую нет ссылок. Необходимо добавить ссылку на сборку 'System.Drawing, версия = 2.0.0.0, культура = нейтральная, PublicKeyToken = b03f5f7f11d50a3a'

Хорошо, я знаю. Добавьте ссылку на сборку. Проблема в том, что я это сделал. Я добавляю ссылку с помощью «Добавить ссылку» в обозревателе решений (System.Drawing) и даже объявляю ее «использующей System.Drawing».

Intellisense работает без проблем. Когда я пишу 'rect', он автоматически показывает мне список со структурой 'Rectangle' сверху.

В чем проблема? Сборка добавлена, даже intellisense ее видит, почему не компилятор?

Ответы [ 2 ]

3 голосов
/ 29 января 2010

Просто глядя на это, в Compact Framework это никак не сработает. Сначала с сайта явно сказано

Tessnet2.dll требуется Visual C ++ 2008 Runtime

Ну, это означает, что он был построен для рабочего стола. Он не будет работать на устройстве WinMo по многим причинам, но достаточно сказать, что вам придется перекомпилировать его для правильного процессора и использования правильных сред выполнения. Если он использует что-то вроде встроенного ассемблера, это сделает его портирование действительно сложным.

Если вы собрали библиотеку tessract, вы все равно не сможете использовать управляемую библиотеку tessnet2.

Это проект Visual Studio 2008 C ++ / CLI

Это означает, что это управляемый проект C ++. Управляемый C ++ не поддерживается платформой COmpact. Поэтому вам придется перенести это на C # или написать отдельную оболочку P / Invoke, которая вызывает функции библиотеки tessract.

1 голос
/ 29 января 2010

Компактный каркас и стандартный каркас - это две разные базы кода, которые предоставляют похожий API. Вот почему intellisense «работал», а компилятор «жаловался».

Ваша структура OCR сторонних производителей должна ссылаться на CompactFramework. Загрузите исходный код для Tessnet2. Замените ссылочные сборки каркаса на компактные сборки каркаса. Вам нужно будет найти их и найти в папке «C: \ Program Files \ Microsoft.NET \ SDK \ CompactFramework \ v3.5 \ WindowsCE».

...