OpenNETCF действительно широко использует P / Invoke.
По сути, это оболочка для некоторых основных функций ОС в Windows CE и ее производных, которые иначе не реализованы в Compact Framework. На практике это означает обширный P / вызов coredll.dll; базовый модуль ОС для Windows CE.
Windows Embedded Standard - это Windows XP. По этой причине я не ожидал, что вы сможете использовать OpenNETCF.
В зависимости от используемой версии вы можете получить код OpenNETCF здесь (или купите, конечно, самую последнюю) и посмотрите, что творится под капотом. Кроме того, вы можете обнаружить, что вызовы, которые вы делаете в OpenNETCF, фактически реализуются в любом случае при компиляции для Windows Embedded Standard.
Один из способов приблизиться к этому - создать другой проект, ориентированный на эту платформу, содержащий точно такие же файлы кода, но без ссылки на OpenNETCF, а затем поработать над исправлением ошибок компиляции.
Вы можете добавить символ условной компиляции либо в проект CE, либо в проект Windows Embedded, а затем исправить ошибки следующим образом (этот пример не для OpenNETCF, но вы поняли идею):
public static string ExecutingAssembly
{
get
{
#if WindowsCE
return Assembly.GetExecutingAssembly().GetName().CodeBase;
#else
return Assembly.GetExecutingAssembly().Location;
#endif
}
}
Очевидно, что затем вам нужно будет создать сборку для каждой платформы, поскольку полученные сборки теперь будут разными.
person
Chris Wallis
schedule
25.05.2011