为移动设备和桌面开发

时间:2010-05-16 16:52:22

标签: .net compact-framework windows-ce shared-libraries code-organization

我正在开始一个新项目。它将在运行Windows CE,Windows Mobile 6的设备上运行,并且还将具有桌面版本。该软件将通过串口连接到某些设备,使用自己的协议。基本上它会:

  • 连接设备
  • 发送和接收信息
  • 读取和写入二进制文件

这些任务将在桌面设备和移动设备之间共享。我一直在寻找我需要的信息,但我仍然有些疑惑:

  1. 如果我创建针对Windows CE设备的解决方案,它是否也适用于Windows Mobile 6?
  2. 创建一个面向Windows CE的类库会让我在桌面版中使用它会有什么问题吗? (当我添加对该类库的引用时,我的VS说我可能会遇到一些意想不到的结果)
  3. 是否可以在运行Windows CE 4.2的设备上安装.NET CF 3.5?
  4. 谢谢!

3 个答案:

答案 0 :(得分:2)

  1. 据我所知,Windows Mobile 6与Windows CE 5兼容。我偶尔会在我的Mobile 6手机上部署我的CE 4应用程序而没有任何问题。

  2. 通常CE可执行文件和DLL在桌面上工作;我只看到他们在使用P / Invokes到coredll.dll时失败了,这是桌面用户的32个用户的CE等效。

  3. 不知道,我的CE 4设备没有足够的存储空间来复制安装程序:P

答案 1 :(得分:1)

  1. 也许。 Windows Mobile基于Windows CE构建,但它不包含操作系统提供的所有功能。如果你使用的是WinMo没有的CE功能,那么它将不起作用。关于为WinMo创建应用程序也可以这么说 - 它可能会也可能不会在Windows CE下运行。
  2. CF程序集是可重定向的,这意味着桌面框架至少可以尝试运行它们。它们会运行正常,直到你遇到一个特定CE特定问题。例如,P /调用coredll,使用SIP控件,使用MessageWindow类等。如果你使用两个框架共有的类,那就没问题了。
  3. 是。您无法直接在设备上进行调试(好吧,您不应该这样做但通常可以通过手动运行corecon来使其工作)但它运行得很好(假设您已经加载了所有必需的操作系统组件)无论如何CF运行时间。)

答案 2 :(得分:0)

我想这Microsoft announcement回答了你的上一个问题 - 所以答案是Windows CE 4.2支持CF 3.5。