Отладка приложения.NET Compact Framework локально (без эмулятора или устройства)
В настоящее время я нахожусь на этапе подготовки нового проекта, который будет разработан с использованием.NET Compact Framework (2.0 или 3.5, мы увидим) и будет работать на специальном оборудовании Windows CE 6. Однако есть одна вещь, которую я не могу заставить работать:
Отладка кажется возможной только с физического устройства или с эмулятором. Но когда я просто запускаю приложение из проводника, оно счастливо работает на моем рабочем столе (потому что, конечно, CF установлен на моей машине для разработки. Итак, актуальный вопрос:
Как я могу отладить мое приложение.NET CF на настольном компьютере, если оно работает на платформе CF рабочего стола? Или это невозможно? Если последнее, как я должен это сделать? Создать проект без CF для отладки? Я знаю, что я должен отлаживать на устройстве, и это важно для серверной части приложения, но графический интерфейс может быть отлажен на рабочем столе. Поскольку он использует OpenGL, он работает намного быстрее, чем в эмуляторе (устройство имеет ускорение OpenGL).
4 ответа
Следуйте этому руководству Дэниела Мота, чтобы настроить цель развертывания "Мой компьютер":
"Мотылек: разверните на моем компьютере"
Затем выберите это как цель развертывания для вашего проекта Smart Device Project и нажмите F5. Старайтесь держаться подальше от любых платформенно-специфических модулей / методов и т. Д.
Есть много отличных записей в блоге г-на Мота, если вы являетесь разработчиком Compact Framework.
Обычно я создаю 2 проекта, один для рабочего стола и один для CF. Версия для настольного компьютера - это исполняемый файл для настольного компьютера, который просто ссылается на CF .dll (это нормально). Очевидно, вам нужно поместить ваше основное приложение в библиотеки и сделать ваш.exe просто очень легкой оболочкой (но в любом случае это довольно хороший дизайн)
На самом деле он работает не на CF, а на FF, поэтому есть несколько проблем совместимости, которые вы можете заметить в разнице реализаций.
Другой вариант - использовать параметр отладки в Visual Studio для "присоединения к процессу". Таким образом, вы можете запустить приложение, дважды щелкнув, а затем просто присоединиться к этому процессу.
Я знаю, что вы имеете в виду относительно низкой производительности эмулятора при отладке приложений CF.
К сожалению, я не думаю, что это возможно из коробки. Если вы заметили, отладчик в VS всегда проверяет, какое у вас подключенное устройство, чтобы решить, следует ли развертывать ваше приложение или нет, в зависимости от того, есть ли у вас какие-либо изменения с момента последнего развертывания.
Если кто-то хочет отладить что-то, кроме эмулятора или устройства, он должен попытаться добавить в этот список другой "эмулятор", который, возможно, не типичный эмулятор, а сам рабочий стол. К сожалению, я не думаю, что это возможно.
Конечно, я готов быть исправленным кем-то более опытным в развитии CF. Мне было бы очень интересно, если бы существовала такая техника отладки CF-приложений!
Подготовить устройство к подключению
- Используя любое имеющееся у вас соединение с устройством, скопируйте следующие файлы в папку \Windows\ на устройстве. Эти файлы по умолчанию находятся на компьютере разработчика в папке \Program Files\Common Files\Microsoft Shared\CoreCon\1.0\Target\wce400\. Clientshutdown.exe ConmanClient2.exe CMaccept.exe eDbgTL.dll TcpConnectionA.dll
- Из командной строки на устройстве запустите conmanclient2.exe.
- Определите IP-адрес устройства.
Подготовить Visual Studio для подключения
- В меню Инструменты Visual Studio выберите Параметры, затем нажмите Инструменты устройства, а затем нажмите Устройства.
- Выберите устройство Windows CE и нажмите "Свойства".
- Справа от поля "Транспорт" нажмите "Настроить".
- В диалоговом окне "Настройка транспорта TCP/IP" выберите "Использовать определенный IP-адрес", а затем введите IP-адрес устройства.
Чтобы установить безопасность и установить соединение 1. В командной строке на устройстве запустите cMaccept.exe.