Опубликован: 24.04.2009 | Доступ: свободный | Студентов: 1069 / 282 | Оценка: 4.39 / 4.28 | Длительность: 18:45:00
Специальности: Программист
Лекция 7:

Создание настройки ядра CE 6.0

Урок V: Создание и сборка проекта C#

В этом уроке мы рассмотрим последовательность действий, необходимых для создания и сборки проекта C# с помощью нового SDK. Этот новый проект C# будет развернут в проект MyOS, созданный в предыдущих уроках.

Используя SDK, можно создавать проекты разработки автономных приложений C/C++/C#, которые не существуют как часть проекта ОС, но вам также нужно, чтобы сначала новая ОС уже была установлена в энергонезависимую память устройства, или нужно будет загрузить ОС в целевую систему, и чтобы ОС выполнялась. Требуется два экземпляра (копии) VS 2005 для поддержки отладки как C/C++, так и C#. Код C# развертывается (загружается) после начальной загрузки ОС, в отличие от предыдущих подпроектов C/C++, которые предварительно устанавливались в файл ядра NK.BIN.

Требования к сборке ОС для развертывания приложений

Для поддержки приложений C# и разработки кода сборка ОС должна включать несколько объектов. Для развертывания разработанного кода как проектов используется другая настройка сетевой коммуникации, называемая Corecon. Corecon требует, чтобы в ядре ОС были установлены следующие 5 модулей поддержки:

  • ConmanClient2.exe
  • CMaccept.exe
  • eDbgTL.dll
  • TcpConnectionA.dll
  • ClientShutDown.exe

Компонент каталога Corecon появляется в разделе Third Party в представлении каталога. Выберите компонент Corecon_X86 Files, чтобы включить эти модули в сборку ОС (Компонент Corecon ранее устанавливался как отдельный объект – если его там нет, смотрите раздел 7.2). Модули компонента Corecon являются частью VS 2005 SP1, но они добавляются в сборку ОС с помощью объекта каталога Corecon_X86. Corecon был включен в предыдущий урок сборки проекта MyOS.

В качестве альтернативы для устройств без какой-либо поддержки сети для развертывания кода можно использовать программу ActiveSync. ActiveSync может использовать для коммуникации последовательный или USB порт. Если используется ActiveSync, то программу устанавливается как на целевом устройстве, так и на ПК системы разработки. ActiveSync широко используется на Windows Mobile Pocket PCs и Smart Phones. Этот урок будет использовать Corecon и сетевой интерфейс для развертывания кода, так как он поддерживается на eBox и работает быстрее.

Требуется также, чтобы IP-адрес eBox был прочитан при использовании DHCP или задан в случае статического IP-адреса. Поэтому сборка ОС должна включать объект каталога поддержки сети TCP/IP и сетевых утилит (т.е., ipconfig и ping).

Для выполнения кода C# использует .Net Compact Framework. Можно определить загрузку .Net Compact Framework, когда развертывается код, но ОС тем не менее должна включать зависимости для объекта каталога Compact Framework. В большинстве случаев легче и проще просто включить объект каталога .Net Compact Framework в сборку ОС для поддержки приложений C# и не развертывать каждый раз заново модуль 8M .NET Compact Framework.

Если .NET Compact Framework развертывается на устройстве, используется файл CAB. В этом случае объект каталога CAB File installer/uninstaller должен включаться в сборку ОС.

При условии, что вы выполнили предложенные ранее действия при сборке MyOS, она должна уже включать все предыдущие компоненты, необходимые для поддержки развертывания C# и .NET Compact Framework, поэтому вам не придется собирать ее заново.

Создание и написание проекта C#

Мы выполним теперь действия по созданию простого проекта C#. Запустите второй экземпляр VS 2005 и выберите File \Rightarrow new \Rightarrow project. Будет выведен экран нового проекта, показанный на рисунке 7.29.

В появившейся форме в левом столбце в разделе Project types раскройте Other Languages, затем раскройте Visual C#, раскройте Smart Device, и наконец выберите Windows CE 5.0 (не беспокойтесь, 5.0 работает в 6.0). В разделе Templates справа выберите Device Application. Введите HelloCSWorld для имени Name нового проекта. Внимательно проверьте только что введенные настройки, и затем щелкните ОК.

Создание проекта C#

Рис. 7.29. Создание проекта C#
Создается новый проект HelloCSWorld и открывается окно разработки Forms

увеличить изображение
Рис. 7.30. Создается новый проект HelloCSWorld и открывается окно разработки Forms

Через несколько секунд новый проект будет создан, и вы должны увидеть как появится изображение формы Forms, аналогично рисунке 7.30. В представлении обозревателя решения, обратите внимание, что был добавлен новый проект HelloCSWorld.

Когда создается проект, нужно добавить какой-то код. Сделайте щелчок правой кнопкой мыши на Form и выберите Properties. В свойствах Properties измените размер формы на 320 на 240, более подходящий размер для устройства с небольшой областью вывода. Область Form должна стать меньше, когда изменится размер.

Выберите View \Rightarrow Toolbox, и Toolbox (Набор инструментов) должен появиться справа. Используя toolbox, выберите textbox (текстовое поле) и добавьте textbox на форму, затем выберите Button или добавьте кнопку в дизайн формы Form1, как видно на рисунке 7.31.

Текстовое поле и кнопка добавлены в форму Form с помощью toolbox

увеличить изображение
Рис. 7.31. Текстовое поле и кнопка добавлены в форму Form с помощью toolbox

Затем нам нужно изменить свойства, связанные с новым текстовым полем и кнопкой в форме. Выберите текстовое поле в форме, сделайте щелчок правой кнопкой мыши и выберите Properties. Должно появиться окно Properties. В окне Properties измените текст окна свойства на "HelloCSWorld". Текст, выводимый в текстовой окне формы, должен измениться на "HelloCSWorld".

Затем нужно добавить код для ответа на событие нажатия кнопки. Выберите кнопку в окне формы (Forms). В окне Properties вы должны видеть теперь свойства кнопки. Вверху окна Properties должна выводиться небольшая иконка желтой молнии. Щелкните на иконке молнии. Затем сделайте двойной щелчок мышью на выделенной записи "Click", чтобы открылось окно кода.

Окно кода автоматически открывается в том месте, где должен выполняться код в ответ на событие нажатия кнопки. Мы изменим текст, выводимый внутри текстового поля в ответ на событие щелчка кнопки. Введите следующее в окно кода в позиции курсора:

textBox1.Text = "Goodbye";

Textbox1 является используемым по умолчанию именем первого текстового поля, а text является выводимым текстом. Поэтому, когда кнопка нажимается, текстовое поле должно вывести Goodbye.

Окно кода должно теперь выглядеть примерно как на рисунке 7.32.

Выберите Build \Rightarrow Build HelloCSWorld, и новый проект будет быстро собран без каких-либо ошибок.

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

увеличить изображение
Рис. 7.32. Ввод нового кода, который будет связан с событием нажатия кнопки
Роман Пархоменко
Роман Пархоменко
Россия, Sankt Piterburg, 182, 1997
Олег Корсак
Олег Корсак
Латвия, Рига