【问题标题】:Windows Embedded CE 6.00 cannot .run Net compact Framework 3.5 applicationWindows Embedded CE 6.00 无法运行 Net compact Framework 3.5 应用程序
【发布时间】:2012-10-08 10:29:20
【问题描述】:

首先,我有一台装有 Windows Embedded CE 6.0 的设备。众所周知,EWS Managed API 只能在 .NET Framework 3.5 及更高版本上使用。

我新建了一个项目 -> 智能设备项目 ->

目标平台:Window CE

.NET Compact Framework 版本:.NET Compact Framework 3.5 版

模板:设备应用程序

然后我尝试使用 EWS API 库编写程序以将电子邮件从服务器发送到我的电子邮件,但出现错误。

错误 1 ​​类型“System.TimeZoneInfo”在未引用的程序集中定义。您必须添加对程序集“System.Core,Version=3.5.0.0,Culture=neutral,PublicKeyToken=b77a5c561934e089”的引用。 C:\Documents and Settings\christopher.lim\My Documents\Visual Studio 2008\Projects\SmartDeviceProject1\SmartDeviceProject1\Form1.cs 23 13 SmartDeviceProject1

当 .NET Framework 不兼容时会发生此错误,这意味着我的 Window Embedded CE 6.0 无法运行需要 .NET Framework 3.5 的应用程序。

那么我是否可以升级我的 Window CE 以便它可以运行 .NET Framework 3.5 及更高版本的应用程序?

希望有人可以帮助我。提前致谢。

【问题讨论】:

    标签: timezone .net-2.0 windows-ce exchangewebservices


    【解决方案1】:

    Compact Framework 在所有 迭代中都可以在 CE 6.0 下正常工作(1.0 不是官方“支持”的,但如果您想使用它,它会运行)。

    您看到的问题是编译器问题,而不是运行时问题。问题的根源(神秘地)在错误中,在公钥令牌中说明。 b77a5c561934e089 是桌面框架的公钥。

    基本上,编译器会告诉您“嘿,您正在引用一个使用桌面 System.Core.dll 程序集的 DLL,因此您需要添加对该 DLL 的引用。”问题在于桌面 System.Core.dll 程序集不会在 Windows CE 设备上运行。

    您必须使用 Compact Framework System.Core.dll(其公钥为 969db8053d3322ac)。这意味着您所引用的任何内容(EWS 托管 API)都必须使用 Compact Framework 引用重新编译,或者您必须找到另一种方法来提供您所追求的特性/功能。

    【讨论】:

    • 感谢您的回答。由于我必须使用 Compact Framework System.Core.dll,我在哪里可以找到它?
    • 它是 CF 3.5 安装的一部分,因此 CF 应用程序的“添加引用”对话框应该会显示它。具体来说,它位于%PROGRAM_FILES%\Microsoft.NET\SDK\CompactFramework\v3.5\Debugger\BCL
    • 我认为这不会允许 EWS API 在 .NET CF 上运行。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多