Я считаю, что существует два подхода к совместному использованию классов библиотек между базами кода .NET и .NET CF.
Код идентичен
Часто библиотеки могут быть идентичными, особенно если они являются базовыми библиотеками, в которых есть вычисления, или идентичными бизнес-классами. В случае библиотек, не относящихся к пользовательскому интерфейсу, это часто имеет место, поскольку .NET CF в основном является подмножеством .NET.
В этом случае вы можете просто создать проект устройства и включить его в ваш полный проект Windows. Вы получите предупреждение о том, что загружаете проект устройства, но если вы не использовали какой-либо специальный код CF, это нормально.
Код очень похож, но отличается
В этом случае я создаю два проекта и, следовательно, две сборки. Одна из этих сборок я делаю основной и включаю все используемые файлы. Во втором я добавляю файлы в виде ссылок, чтобы включить их в качестве ссылок, чтобы отражались любые обновления. Затем я использую ifdef для любых особых случаев, когда они могут отличаться.