дифференцировать как? Programatically? Глядя на это в проводнике? С отражателем?
Сборки, скомпилированные для CF, являются «переориентируемыми» и будут работать в рамках рабочего стола при условии вы не используете ничего специфичного для CE (P / Invoking coredll, использование сборки WindowsMobile, контроль SIP и т. Д. ).
Сборки, скомпилированные для рабочего стола, не будут работать под CF ни при каких обстоятельствах. Они должны быть перекомпилированы.
Одним из основных отличий в скомпилированном выводе является то, что CF CLR не поддерживает все коды операций, которые поддерживает рабочий стол, поэтому IL рабочего стола может быть недопустимым в CF. Не обязательно то, что мешает полной сборке фреймворка работать под CF, но это большая его часть.