Как скомпилировать библиотеку on.NET фреймворк и .NET Compact Framework?
Я разрабатываю класс технической библиотеки, который может использоваться на обоих типах фреймворков (компактных или нет).
Как лучше всего разработать такую библиотеку? Использование по умолчанию функций .NET (для XP Embedded) и ограничений do при использовании Windows CE (использование CF.NET)?
Спасибо.
3 ответа:
Обычно я подхожу к этому, имея отдельные библиотеки DLL для каждой игровой формы, поэтому я могу использовать доступные функции платформы, когда это возможно (часто ни то, ни другое не является строгим подмножеством/суперсетью, и стремление к пересечению чрезмерно ограничивает, если вы хотите производительность бит и т. д.).
Большинство функций являются общими, поэтому количество кода #if (с характерными символами сборки) часто минимально.
Чтобы избежать проблем с забыванием добавить файлы проекта, я использую рекурсивный подстановочный знак в csproj, так что все .cs-файлы включаются автоматически.
Я нахожу, что существует два подхода к совместному использованию библиотечных классов между базами кода .NET и .NET CF.
Код идентичен
Часто библиотеки могут быть идентичными, особенно если это базовые библиотеки с вычислениями или идентичные бизнес-классы. Для библиотек без пользовательского интерфейса это часто имеет место, так как .NET CF в основном является подмножеством .NET.
В этом случае вы можете просто построить проект устройства и включить его в свой полный проект windows. Вы получите предупреждение о том, что вы загружаете проект устройства, но если вы не использовали какой-либо конкретный код CF, это нормально.
Код очень похож, но отличается
В этом случае я создаю два проекта и, следовательно, две сборки. Одну из этих сборок я делаю основной и включаю в нее все используемые файлы. Во втором я добавляю файлы в виде ссылок, чтобы включить их в качестве ссылок, поэтому любые обновления отражаются. Затем я использую ifdefs для любых особых случаев, когда они могут отличаться.