根据我在此处阅读的内容,为了在我的手持设备上安装 CF 版本 2,我应该在此处复制一个 cab 文件:
……但是哪一个?
有问题的设备是 Symbol 3090,目前仅安装了 CF 版本 1.0.3316.00 (1.0 SP2)。设备的操作系统版本为 05.00.1400
设备 CPU 大概是“ARMV4I”,因为类似的设备(摩托罗拉 3190)说它配备了这种设备。
更新
根据我在此处单击“此链接”时看到的内容:
-- 或 -- 如果您的设备上有 Windows Mobile 5 或更高版本,请单击此链接并将文件保存到您的计算机桌面。
...似乎“ NETCFv2.wm.armv4i.cab ”可能是最好的选择。
有什么反驳吗?
更新 2
我复制了我认为是那个文件,并在设备上单击它,但是:
山姆·克莱门斯 (Sam L. Clemens) 的杰出记忆中发生了什么?!?
更新 3
然后我从上面的链接复制了另一个文件,它略有不同(一方面是 2.12MB 而不是 2.14MB),并尝试运行它,并得到与上面相同的错误消息。
更新 4
尝试从最后一个链接安装,我看到:
更新 5
实际上,事实证明,我可能真正需要的是在设备冷启动后安装 CF 版本 1……但我不知道 CF 版本 1 是否仍然可用。这是现有 .exe 将运行的唯一版本,但我的 PC 只有版本 2 和 3.5 的 cab 文件......???
更新 6
在最新版本的 .exe 中(构建和编译,但不会在任一设备上运行),它有三个,在其引用区域中计数三个 mscorlib;版本是:
1.0.5000.0
2.0.0.0
3.5.0.0
它们都具有相同的公钥令牌(与屏幕截图中显示的相同)
唯一的其他多参考是 System,它同时具有版本 2 和 3.5
而且,在 System.Xml 下,有三个 coredll.dll,尽管拼写不同:
coredll.dll
CoreDll.dll
CoreDll.DLL
(没有任何人的信息......???)
更新 7
我将 NETCFv2.wce4.ARMV4.cab 复制到 3090。
我在设备上单击了 2 次,但得到了这个:
所以,我撤退了(选择“否”)。
从而继续有增无减的意外手持开发人员的阵痛。
更新 8
该项目设置为 Framework Version == v2.0,Platform == Windows CE,Target Device == Windows Mobile 6 Classic Emulator(我拥有的为数不多的仿真器选择之一),输出显示它是ARMV4i部署:
Deploying '%CSIDL_PROGRAM_FILES%\Microsoft SQL Server Compact Edition\v3.5\Devices\wce500\ARMV4i
\sqlce.ppc.wce5.armv4i.CAB'
Deploying '%CSIDL_PROGRAM_FILES%\Microsoft SQL Server Compact Edition\v3.5\Devices\wce500\ARMV4i
\sqlce.repl.ppc.wce5.armv4i.CAB'
Deploying '%CSIDL_PROGRAM_FILES%\Microsoft SQL Server Compact Edition\v3.5\Devices\wce500\ARMV4i
\sqlce.dev.enu.ppc.wce5.armv4i.CAB'
Deploying 'C:\Program Files (x86)\Motorola EMDK for .NET\v2.8\SDK\Smart Devices\wce500\armv4i\symbol.all.arm.cab'
当我在模拟器中运行 .exe 时,它失败并显示“错误 - Platypus.exe 发生意外错误选择退出并重新启动此程序,或选择详细信息以获取更多信息。此应用程序需要更新版本的 MS .NET Compact Framework 高于此设备上安装的版本。”
选择“详细信息”按钮会增加精神痛苦,“ TypeLoadException 此应用程序需要比此设备上安装的版本更新的 MS .NET Compact Framework 版本。 ”