Ответ 1
В зависимости от того, что вы ищете, есть Различия между .NET Compact Framework и .NET Framework в MSDN.
Существует ряд различий во времени выполнения совместимого кода между этими двумя версиями .NET.
Ниже приведен список различий:
У нас также есть что добавить?
В зависимости от того, что вы ищете, есть Различия между .NET Compact Framework и .NET Framework в MSDN.
Из списка Mitchel Sellers, это некоторые характеристики, которые делают Compact progreamming... интересным.
Общая среда исполнения для .NET Compact Framework составляет примерно 12 процентов от размера полной среды выполнения Common Framework.NET Framework.
Функциональность текущего каталога отсутствует в операционной системе Windows Embedded CE.
Windows Embedded CE разрешает имя файла, указанное без информации о пути, как находящееся в корневом каталоге устройства, а не в каталоге приложения.
.NET Compact Framework обрабатывает строки Uniform Resource Identifier (URI) с префиксом файла://иначе, чем полная .NET Framework.
В связи с соображениями размера и производительности .NET Compact Framework не поддерживает двоичную сериализацию с использованием BinaryFormatter или сериализации SOAP с использованием SoapFormatter.
Поддерживаются не все параметры сокета.
Поскольку операции ввода-вывода устройства происходят в ОЗУ, невозможно установить или получить доступ к атрибутам файла и каталога.
Консоль предоставляется только у поставщика оборудования.
Только 12%.NET Framework. Я ловко понял, что это означает, что 88% отсутствует. И вы, вероятно, захотите его.
Довольно замечательно, что так много опущено или искажено, потому что оно не будет входить в несколько сотен МБ; по сравнению с обычно менее 10 МБ для классических мобильных устройств.
Я заметил некоторые отличия, когда мне пришлось переносить приложение CF на полную инфраструктуру .net.
Шрифт по умолчанию для меток и древовидных изображений в CF был больше
Когда метка отключена в CF, она просто недоступна (полный фрейм-план .net выделяет текст другим цветом)
Растровые изображения (на самом деле все производные от изображений) ведут себя по-другому в как очищаются их ресурсы.
Пути сборки возвращаются в другом формате на рабочем столе из
System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase
Это возвращает нормальный путь в Win CE, но дает URL-адрес (файл:///c:/...) в рамочной среде рабочего стола. Свойство
System.Reflection.Assembly.GetExecutingAssembly().Location
возвращает нормальный путь (C:...) в среде рабочего стола, но вообще не доступен в Compact Framework.
Вот свойство, которое возвращает папку, в которой находится ваше приложение:
public static string AppFolder
{
get {
#if !WindowsCE && !PocketPC
string exeFile = System.Reflection.Assembly.GetExecutingAssembly().Location;
#else
// This returns a normal path under CE, but gives a URL (file:/...) on the desktop
string exeFile = System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase;
if (exeFile.StartsWith("file:///"))
exeFile = exeFile.Substring("file:///".Length);
#endif
return System.IO.Path.GetDirectoryName(exeFile);
}
}