Не удалось найти System.Threading после развертывания в mscorlib.dll в Microsoft Compact Framework 2.0 / 3.5. - PullRequest
0 голосов
/ 11 февраля 2010

Я столкнулся с проблемой в Windows Mobile 6. Я разработал приложение и использовал класс Timer, присутствующий в пространстве имен System.Threading в сборке mscorlib.dll. проблема заключается в том, что когда я отлаживаю его или когда я развертываю его, создав надлежащий файл cab из Visual Studio 2008 на моем устройстве (HTC ELF0300), он работает нормально, но когда наш клиент развертывает его на своем устройстве (HTC Tilt 2), он выдает TypeLoadException по System.Threading.Timer.ring (), после многократного поиска в Google и просмотра каждой сборки, на которую я ссылался в моем проекте, в IL DASM и Обозревателе объектов Visual Studio, я увидел, что mscorlib.dll был добавлен в кабину. проект для развертывания отсутствует в пространстве имен System.Threading, а файл mscorlib.dll, присутствующий в моем основном проекте, показывает мне пространство имен System.Threading в проводнике объектов. Возможно, из-за этого наш клиент столкнулся с проблемой TypeLoadException.

Но я все еще озадачен, если пространство имен отсутствует в файле mscorlib.dll, присутствующем в файле cab, чем то, как файл cab развертывается и работает нормально на моем устройстве (HTC ELF0300), но не в HTC Tilt2? Что я могу сделать, чтобы добавить правильный mscorlib.dll в мой файл кабины?

любая помощь будет принята с благодарностью. спасибо.

Зунаир Минхас. http://www.tkxel.com/

1 Ответ

1 голос
/ 11 февраля 2010

У вашего клиента установлена ​​правильная версия .NET Compact Framework, установленная на его устройстве?

Вам не нужно включать mscorlib.dll в ваш CAB-файл, потому что он является частью .NET Compact Framework и будет найден на устройстве пользователя, если он правильно установил его.

Спросите своего клиента, может ли он открыть Проводник на своем устройстве и посмотреть, видит ли он файл cgautil.exe в папке \Windows.

Если он видит это, попросите его открыть его и проверить, какой номер версии он видит на экране (2.0.xxxx или 3.5.xxxx). Это будет версия .NET CF, которую он установил.

Если он не видит cgautil.exe, у него не будет установлен .NET CF, и он должен установить его перед запуском приложения.

...