Эталонный пакет не найден. Компонент подключения устройства при развертывании программы C# на устройстве Windows Mobile 6.5

Я работаю над проектом C # для Windows Mobile 6.5, и сегодня утром я получаю сообщение «Справочный пакет не найден. Компонент подключения устройства» всякий раз, когда я пытаюсь развернуть. Он строится без ошибок и работал до сегодняшнего дня. Я немного осмотрелся и нашел только тупики в Интернете. Насколько я вижу, нет никаких подсказок об этом компоненте или пакете, на который это ссылка. Я думаю, что это может быть связано с Windows CE SQL Compact, но это ни на чем не основано. Я откатывался к более ранней версии своего кода и очищал несколько раз. Я в тупике.

Я был бы очень признателен за любую помощь, даже диагностируя это немного дальше. Я использую Visual Studio 2008 3.5 SP1.

referencesОбновление: когда я отключаю "Развернуть последнюю версию .NET Compact Framework (включая пакеты обновлений)", он делает развернуть, но затем выдает ошибки, связанные с базой данных SQL, которая работала ранее. предположительно потому, что у него нет доступа к правильным пакетам SQL.

Обновление: я также получаю ту же ошибку с эмулятором, он собирается, эмулятор запускается, но не может развернуться, выдавая ту же ошибку.

Обновление: я думаю, что это может иметь какое-то отношение к этому. Обратите внимание на двойные косые черты в пути. Я продолжаю их удалять. Он продолжает возвращаться.

введите здесь описание изображения

Обновление/исправление: теперь я могу выполнить развертывание на эмуляторе, раньше у меня была проблема, но теперь все в порядке. Я все еще не могу установить на устройство, та же ошибка.


person Keith Loughnane    schedule 28.04.2014    source источник
comment
Можете ли вы сделать снимки экрана или прикрепить файл проекта, чтобы мы увидели, на какие сборки ссылаются? Кроме того, поскольку вы ранее успешно развернули проект, содержит ли папка bin на ПК рабочую копию? Или это проблема с подключением к VS, и VS не может установить подключение? Если да, то что происходит для развертывания нового пустого простого проекта? Что происходит, когда вы пытаетесь использовать Tools-ConnectToDevice в VS? ...WindowsMobileDeviceCenter подключен?   -  person josef    schedule 29.04.2014
comment
Это помогает? social.msdn.microsoft.com/Forums/en-US/   -  person josef    schedule 29.04.2014
comment
Я предполагаю, что вам нужно проверить установку VS: C:\Program Files (x86)\Common Files\microsoft shared\CoreCon\1.0\Bin и другие для microsoft.smartdevice.connectivity   -  person josef    schedule 29.04.2014
comment
Спасибо Йозеф. Прилагаю скриншот со ссылками. Как указано выше, я понял, что он будет развернут, когда я отключу развертывание последней версии .NET Compact Framework (включая пакеты обновления), но это вызывает другие проблемы, но это может быть надежной информацией. Папка bin содержит рабочую копию, и у меня есть старая вилка проекта, которая, похоже, нормально развертывается. Связь с устройством в порядке.   -  person Keith Loughnane    schedule 30.04.2014
comment
Re: ссылка, которую вы указали. Как указано выше, снятие отметки с развертывания... .Net .. framework работает, но вызывает другие проблемы. В отличие от комментатора этого сообщения, повторная проверка Deploy... приводит к тому, что проблема возвращается. Я не хочу удалять ссылки, так как я недавно унаследовал этот проект и не полностью понимаю все ссылки, я думаю, что причиню больше вреда, чем пользы. Я только что просмотрел C:\Program Files (x86)\Common Files\microsoft shared\CoreCon\1.0\Bin и нашел microsoft.smartdevice.connectivity.dll. Я хочу, чтобы эта ошибка указала мне, в какой именно ссылке возникла проблема.   -  person Keith Loughnane    schedule 30.04.2014
comment
Так же прошёлся по всем ссылкам и вручную проверил, что dll находится по указанному в свойствах пути. Я нашел 2, у которых была двойная косая черта вместо одинарной. Я не уверен, что это проблема, но я удалил их и снова добавил. Проблема все еще сохраняется.   -  person Keith Loughnane    schedule 30.04.2014
comment
Я также получаю ту же ошибку с эмулятором, я строю, эмулятор запускается, но не может развернуться, выдавая ту же ошибку.   -  person Keith Loughnane    schedule 30.04.2014
comment
Ошибка выдается, поскольку VS не может развернуть проект. Либо VS, либо проект поврежден. Поскольку вы можете развернуть простой проект, может помочь воссоздание проекта с использованием нового проекта. Просто запустите новый проект, используя второй экземпляр VS, а затем скопируйте все исходные файлы из исходного каталога в новый каталог проекта (с сохранением всех папок и т. д.) и добавьте все ссылки, необходимые для проекта. Затем соберите и протестируйте развертывание только что созданного проекта.   -  person josef    schedule 01.05.2014
comment
Спасибо, это заняло некоторое время, но мне удалось восстановить все это. Кажется, проблема решена, но у меня другая проблема. Я закрою это, как только буду уверен, что это не связано.   -  person Keith Loughnane    schedule 01.05.2014
comment
Да, это сделало это. Хотелось бы, чтобы у меня было больше понимания того, что пошло не так или как исправить это более точным образом, но в конце концов я просто создал новый проект. Скопировал ссылки обратно и скопировал и вставил код.   -  person Keith Loughnane    schedule 02.05.2014


Ответы (3)


Для тех, кто рвал на себе волосы, как я. Я не мог понять, в чем дело, хотя все еще подозреваю, что это как-то связано с компактным пакетом .NET. В конце концов я создал новый проект, настроил ссылки, скопировал и вставил код. Это не очень хорошее решение, но оно сработало после нескольких дней застревания.

person Keith Loughnane    schedule 02.05.2014
comment
Я чувствую себя немного виноватым, выбирая свой собственный ответ, но это то, что сделало это, и других ответов нет. - person Keith Loughnane; 02.05.2014
comment
Похоже, что разрешение обновлений Windows будет время от времени обновлять пакеты SQL CE на вашем ПК. Эти обновления могут быть совместимы с вашим ПК, но они могут быть совместимы или несовместимы с этими старыми устройствами Windows Mobile (скорее всего, они несовместимы). Читая ваш первоначальный вопрос, я знал, что вызвало проблему. Единственным реальным решением было бы отключить функцию обновлений Windows - либо это, либо точно знать, какое обновление от Microsoft касается пакета SQL CE, а затем выбрать, чтобы заблокировать это. - person jp2code; 02.05.2014
comment
Я присмотрю за этим, спасибо. У меня все еще возникают проблемы с SQL на устройстве, но я решил, что это другая проблема, выходящая за рамки этого вопроса. Я получаю несоответствие между версией файла базы данных (3.5) и версией сервера SQL (3.0). - person Keith Loughnane; 02.05.2014
comment
Я решил ошибку с версией SQL, сославшись на dll 3.5, а не на dll 3.0. Просто чтобы увидеть, что я попробовал то же самое в проекте, в котором была указанная выше ошибка, но я получил ту же ошибку при развертывании, хотя вы догадываетесь о моей проблеме без подсказки и предполагаете, что это может иметь какое-то отношение к этому. - person Keith Loughnane; 07.05.2014

ХА! Я нашел это! Это может быть не ваше решение, но я так и сделал.

См. эту ссылку: http://msdn.microsoft.com/en-us/library/aa983326%28v=vs.90%29.aspx

Поскольку Microsoft плохо относится к удалению своей старой информации, я тоже опубликую ее здесь. Но в основном, если вы выберете частное развертывание, то обновления Microsoft не повлияют на ваш проект и не обновят ваши базы данных 3.5 до ... любых новейших материалов от Microsoft.

Практическое руководство. Развертывание базы данных SQL Server Compact 3.5 с приложением

У вас есть два варианта развертывания приложений, содержащих базы данных SQL Server Compact 3.5. Выбранный метод развертывания зависит от требований к обслуживанию вашего приложения и от того, потребуются ли вашим пользователям административные учетные данные на компьютере, на котором будет установлено приложение.

Ниже приведены варианты развертывания для баз данных SQL Server Compact 3.5.

  • Traditional Microsoft Windows Installer (Microsoft setup technology)
    • Users need administrative credentials to install the application.
    • SQL Server Compact 3.5 будет обслуживаться Центром обновления Майкрософт.
    • Можно использовать развертывание ClickOnce.

-or-

  • Private file–based deployment (deploying the SQL Server Compact 3.5 DLLs as part of the project)
    • Users do not need administrative credentials to install the application.
    • SQL Server Compact 3.5 не будет обслуживаться Центром обновления Майкрософт.
    • Также можно использовать развертывание ClickOnce.

Традиционный установщик Windows

Традиционная технология установщика Windows используется как в стандартных проектах установки и развертывания, так и в развертывании ClickOnce. При развертывании базы данных SQL Server Compact 3.5 развертывание ClickOnce предоставляет возможность автоматической установки SQL Server Compact 3.5, если она не обнаружена на целевом компьютере. По этой причине ClickOnce является предпочтительным методом развертывания приложений, содержащих базы данных SQL Server Compact 3.5 (в отличие от создания настраиваемого действия в проекте установки и развертывания).

Развертывание ClickOnce было обновлено таким образом, что оно автоматически включает среду выполнения SQL Server Compact 3.5 в качестве обязательного условия для приложений, включающих базы данных SQL Server Compact 3.5. Он также распознает файлы .sdf как файлы данных и устанавливает для них правильный статус публикации.

Создание развертывания ClickOnce для приложения, содержащего базу данных SQL Server Compact 3.5, состоит из настройки правильной информации о публикации в Дизайнере проектов.

Использование технологии установщика Windows для развертывания ClickOnce приложения, содержащего базу данных SQL Server Compact 3.5

  1. Чтобы открыть конструктор проектов, в обозревателе решений/обозревателе баз данных дважды щелкните Мой проект, если вы работаете над проектом Visual Basic (или Свойства, если вы работаете над проектом C#).
  2. Перейдите на вкладку Опубликовать.
  3. Нажмите Файлы приложения и установите для файла .sdf значение Файл данных (авто). (Этот параметр уведомляет установщика о необходимости рассматривать его как локальный файл данных и помещать его в каталог данных.)
  4. Нажмите Предварительные требования и выберите SQL Server Compact 3.5. (Этот параметр уведомляет установщика о необходимости проверить, существует ли среда выполнения SQL Server Compact 3.5, и установить ее из Интернета, если она не найдена.)

Создание установщика После настройки информации для публикации создайте установщик.

Чтобы создать установщик

  1. В поле Место публикации введите веб-сайт, FTP-сервер или путь к файлу, на котором будет опубликован установщик.
  2. Нажмите Опубликовать сейчас, чтобы создать установщик.

Приложение готово к установке. Перейдите в место, где вы опубликовали, и установите приложение для проверки.

Частное развертывание на основе файлов

Развертывание на основе частных файлов относится к процессу включения необходимых библиотек DLL SQL Server Compact 3.5 в виде файлов в проект (в отличие от ссылки на библиотеки DLL, уже находящиеся на целевом компьютере). Если вы включаете в приложение необходимые библиотеки DLL, необходимость установки SQL Server Compact 3.5 отпадает. Поэтому учетные данные администратора больше не нужны.

Вы можете использовать технологию развертывания ClickOnce для частного развертывания на основе файлов. Если вы это сделаете, вы должны не забыть удалить обязательный компонент SQL Server Compact 3.5, чтобы программа установки не установила его.

Чтобы развернуть базу данных SQL Server Compact 3.5 с помощью развертывания на основе частных файлов

  1. Чтобы открыть Конструктор проектов, в Обозревателе решений/Обозревателе баз данных дважды щелкните Мой проект, если вы работаете над проектом Visual Basic (или Свойства, если вы работаете над проектом C#).
  2. Перейдите на вкладку Опубликовать.
  3. Нажмите Предварительные требования и снимите флажок SQL Server Compact 3.5.
  4. Закройте Конструктор проектов.
  5. Перейдите в каталог, содержащий библиотеки DLL SQL Server Compact 3.5. Они расположены в C:\Program Files\Microsoft SQL Server Compact Edition\v3.5.
  6. Select the seven SQL Server Compact 3.5 DLLs and copy them:
    • sqlceca35.dll
    • sqlcecompact35.dll
    • sqlceer35EN.dll
    • sqlceme35.dll
    • sqlceoledb35.dll
    • sqlceqp35.dll
    • sqlcese35.dll
  7. Вставьте библиотеки DLL в проект в Обозреватель решений/Обозреватель баз данных.
  8. Выберите все семь DLL в Обозревателе решений/Обозревателе баз данных и откройте окно Свойства.
  9. Установите для свойства Копировать в выходной каталог значение Копировать, если новее. (При этом все более ранние библиотеки DLL в существующем приложении будут заменены более новыми, если приложение будет обновлено.)
  10. Нажмите кнопку Показать все файлы в Обозревателе решений/Обозревателе баз данных.
  11. Разверните узел Ссылки.
  12. Выберите System.Data.SqlServerCe.
  13. Установите для свойства Копировать локально значение True. (Поскольку на вашем компьютере для разработки есть библиотеки DLL SqlServerCe в глобальном кэше сборок, вы должны настроить приложение для использования библиотек DLL в выходном каталоге.)
  14. Щелкните правой кнопкой мыши проект в Обозревателе решений/Обозревателе баз данных и выберите Опубликовать, чтобы открыть мастер публикации.
  15. Завершите работу мастера, чтобы опубликовать приложение.

Приложение готово к установке. Перейдите в место, где вы опубликовали, и установите приложение для проверки.

person jp2code    schedule 07.05.2014

У меня такая же проблема. Я заставил его работать, закрыв визуальную студию, переименовав каталог:

C:\Documents and Settings\\Local Settings\Application Data\Microsoft\CoreCon

Затем повторное открытие визуальной студии и развертывание сработало.

person Brian Pressler    schedule 09.06.2015