首先,我有一台带有 Windows Embedded CE 6.0 的设备。众所周知,EWS 托管 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 及更高版本的应用程序?
希望有人能帮助我解决这个问题。提前致谢。
紧凑框架,在all迭代,在 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 引用重新编译,或者您必须找到替代方法来提供您想要的特性/功能。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)