System.TypeLoadException в неизвестном модуле с SQL Server CE - PullRequest
1 голос
/ 05 июня 2009

У меня есть мобильное приложение C # для Windows, изначально созданное в VS2005, которое использовалось для создания тестовая база данных. Однако теперь, когда я включил код C # в VS2008 проект и переустановить ссылки SQL, я получаю следующую ошибку:

Произошло необработанное исключение типа System.TypeLoadException в Неизвестный модуль.

Дополнительная информация: имя файла или сборки 'System.Data.SqlServerCe, Версия = 3.5.0.0, Культура = нейтральная, PublicKeyToken = 3BE235DF1C8D2AD3 'или одна из его зависимости не найдены.

Ссылочный путь кажется хорошим. Есть идеи?

Спасибо

Ответы [ 4 ]

5 голосов
/ 05 июня 2009

Попробуйте сбросить и прочитать ссылку.

Быстрый взгляд на мой собственный GAC показывает, что в библиотеке есть неправильный PublicKeyToken

Assembly:         System.Data.SqlServerCe
Culture:          Neutral
Version:          3.5.0.0
Public Key Token: 89845dcd8080cc91

После быстрого Google, похоже, что вы ссылаетесь на версию платформы настольного компьютера вместо версии платформы устройства.

Смотрите этот пост здесь

http://social.msdn.microsoft.com/Forums/en-US/netfxcompact/thread/f509138c-8442-4bef-916a-a97bda4721ee

Запуск приложений Sql Mobile на рабочем столе не поддерживается (кроме вашего рабочего стола это планшетный ПК).

Маркер открытого ключа для System.Data.SqlServerCe (платформа для настольных компьютеров) - 3be235df1c8d2ad3

Маркер открытого ключа для System.Data.SqlServerCe (платформа устройства): 89845dcd8080cc91

0 голосов
/ 22 января 2010

У меня была такая же проблема. Для меня сработало полностью удалить из устройства Pocket PC следующее:

<MY APP>
Microsoft .Net CF 3.5 EN-String R...
Microsoft .Net CF 3.5
SQLServerCompact 3.5 Tools EN
SQLServerCompact 3.5 Repl
SQLServerCompact 3.5 Core

Затем установка: NETCFv35.ppc.armv4.cab (Microsoft .Net CF 3.5) NETCFv35.Messages.EN.cab (Microsoft .Net CF 3.5 EN-String R ...) sqlce.ppc.wce4.armv4.CAB (SQLServerCompact 3.5 Core)

Возможно, вы сможете просто удалить и переустановить пакеты SQLServerCompact 3.5. Вот что сработало для меня.

0 голосов
/ 05 июня 2009

Я предполагаю, что ваша проблема в том, что вы можете загрузить именованную сборку, но одна из ее зависимостей по-прежнему упоминается как версия 2.0 из предыдущей настройки проекта. Просмотрите все ваши сборки, на которые есть ссылки, и убедитесь, что они все из одной и той же версии фреймворка. (На самом деле это не требование, что они все из одной и той же версии, но это в конечном итоге облегчает жизнь). Проблема заключается в том, что если вы используете версию 3.5, которая будет иметь зависимости версии 3.5, и если вы будете только ссылаться на сборку версии 2.0, вы получите вышеуказанную ошибку

0 голосов
/ 05 июня 2009

Вы настроили свой проект на .Net Compact Framework 3.5? Я полагаю, что если он все еще загружается как проект 2.0, у него будут проблемы с загрузкой сборок из платформы 3.5.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...