Мы рассмотрели создание одного проекта для компиляции как полнофункциональных, так и компактных платформ, но в итоге это было грязно (много хакерских файлов проекта), и мы обычно сталкивались со сценариями, где мы хотели включить определенные файлы или ссылки в один другие цели (например, включение Smart Device Framework в компактную версию фреймворка).
У нас были проблемы с решением при выполнении тестового анализа модульных тестов MSTest, поэтому у нас теперь есть два отдельных решения. Каждое решение имеет дерево в основном одних и тех же логических проектов - один для компактной платформы, а другой - для полной. Это немного обслуживания, но оно работало достаточно хорошо.
Еще один элемент, который нам нужно было добавить вручную в полный или компактный каркасный проект, - это изменение промежуточного \ выходного пути по умолчанию, чтобы выходы проекта не наступали друг на друга:
<Project ... >
<PropertyGroup>
<BaseIntermediateOutputPath>objCE\</BaseIntermediateOutputPath>
...
Откройте файл .csproj и добавьте строку в первый элемент <PropertyGroup>
.
Более подробную информацию о параметре можно найти здесь:
http://msdn.microsoft.com/en-us/library/bb629394.aspx
Стоит отметить, что при открытии проекта вы получите предупреждение системы безопасности о том, что оно было настроено. Вы можете выбрать, чтобы загрузить его как обычно, и снимите флажок «спрашивать меня каждый раз», чтобы больше никогда его не видеть.