Отладка приложения .NET Compact Framework локально (без эмулятора или устройства) - PullRequest
2 голосов
/ 17 марта 2009

Я сейчас на стадии подготовки к новому проекту, который будет разработан с .NET Compact Framework (2.0 или 3.5, мы увидим) и будет работать на специальном оборудовании Windows CE 6. Однако есть одна вещь, которую я не могу заставить работать:

Похоже, что отладка возможна только на физическом устройстве или на эмуляторе. Но когда я просто запускаю приложение из проводника, оно успешно работает на моем рабочем столе (потому что, конечно, CF установлен на моей машине для разработки. Итак, актуальный вопрос:

Как мне отладить мое приложение .NET CF на настольном компьютере, если оно работает на платформе CF рабочего стола? Или это невозможно? Если последнее, как я должен это сделать? Создать проект без CF для отладки? Я знаю, что я должен отлаживать на устройстве, и это важно для серверной части приложения, но графический интерфейс может быть отлажен на рабочем столе. Поскольку он использует OpenGL, он работает намного быстрее, чем в эмуляторе (устройство имеет ускорение OpenGL).

Ответы [ 4 ]

4 голосов
/ 20 марта 2009

Обычно я создаю 2 проекта, один для рабочего стола и один для CF. Версия для настольного компьютера - это исполняемый файл для настольного компьютера, который просто ссылается на CF .dll (это нормально). Очевидно, вам нужно поместить ваше основное приложение в библиотеки и сделать ваш .exe просто очень легкой оболочкой (но в любом случае это довольно приятный дизайн)

На самом деле он работает не на CF, а на FF, поэтому есть несколько проблем с совместимостью, которые вы можете заметить при различиях реализаций.

Другой вариант - использовать параметр отладки в Visual Studio для «присоединения к процессу». Таким образом, вы можете запустить приложение, дважды щелкнув, а затем просто присоединиться к этому процессу.

3 голосов
/ 12 мая 2009

Следуйте этому руководству Дэниела Мота, чтобы настроить цель развертывания «Мой компьютер»:

"Мотылек. Развертывание на моем компьютере"

Затем выберите это в качестве цели развертывания для вашего проекта Smart Device Project и нажмите F5. Старайтесь держаться подальше от любых платформенно-специфических модулей / методов и т. Д.

В блоге м-ра Мота есть много отличных записей в блоге, если вы являетесь разработчиком Compact Framework.

0 голосов
/ 07 июня 2013

Для подготовки устройства к подключению

  1. Используя любое соединение с вашим устройством, скопируйте следующие файлы в папку \ Windows \ на устройстве. Эти файлы по умолчанию расположены на компьютере разработчика в \ Program Файлы \ Общие файлы \ Microsoft Shared \ CoreCon \ 1.0 \ Target \ wce400 \. Clientshutdown.exe ConmanClient2.exe CMaccept.exe eDbgTL.dll TcpConnectionA.dll
  2. В командной строке на устройстве запустите conmanclient2.exe.
  3. Определите IP-адрес устройства.

Чтобы подготовить Visual Studio для подключения

  1. В меню Инструменты Visual Studio выберите Параметры, затем нажмите Устройство Инструменты, а затем нажмите Устройства.
  2. Выберите устройство Windows CE и нажмите «Свойства».
  3. Справа от поля "Транспорт" нажмите "Настроить".
  4. В диалоговом окне «Настройка транспорта TCP / IP» выберите «Использовать определенный IP-адрес», а затем введите IP-адрес устройства.

Чтобы установить безопасность и установить соединение 1. В командной строке на устройстве запустите cMaccept.exe.

0 голосов
/ 17 марта 2009

Я знаю, что вы имеете в виду относительно низкой производительности эмулятора при отладке приложений CF.

К сожалению, я не думаю, что это возможно из коробки. Если вы заметили, отладчик в VS всегда проверяет, какое у вас подключенное устройство, чтобы решить, следует ли развертывать ваше приложение или нет, в зависимости от того, есть ли у вас какие-либо изменения с момента последнего развертывания.

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

Конечно, я готов поправиться кем-то более опытным в разработке CF. Мне было бы очень интересно, если бы существовала такая техника отладки CF-приложений!

...