移动设备上的.NET 应用程序 (Win CE)

发布于 2024-11-02 09:10:12 字数 362 浏览 2 评论 0原文

我只是想知道常规桌面 .NET 应用程序是否可以轻松移植到 CE。

据说.net应该是平台独立的,所以我的假设是可以为win xp/7 .net开发一个应用程序,然后将其复制到移动设备,并且除了任何视觉差异(分辨率等)之外,我希望它能够工作。

然而:事实并非如此!

如果我将常规 .net 3.5 应用程序复制到我的移动设备,则会出现有关缺少程序集的错误(Forms 2.0.0)。我在设备上安装了.net紧凑框架,所以我有点迷失了。

我使用的是 Visual Studio 2008 Express,我知道移动设备开发没有官方支持。但我不需要调试器,也不需要所见即所得的开发。

有什么办法让它发挥作用吗?

谢谢!

I'm just wondering if a regular desktop .NET app can be easily ported to CE.

Supposedly .net should be platform independent, so my assumption is that an app can be developed for win xp/7 .net and just copied to the mobile device, and except for any visusal discrepancies (resolution and so on) I expect it to work.

However: it doesn't!

If I copy a regular .net 3.5 app to my mobile device it gives an error about a missing assembly (Forms 2.0.0). I installed .net compact framework on the device, so I'm kind of lost.

I'm using Visual Studio 2008 Express and I'm aware that there is no official support for mobile device development. But I don't need a debugger and I don't need WYSIWYG development.

Any way to get it to work?

Thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

心房的律动 2024-11-09 09:10:12

对于 Windows Mobile/Windows CE,您必须使用 Compact Framework。然而,紧凑框架仅具有“完整”框架的几个功能(类、方法等)。

For Windows Mobile/Windows CE you must you Compact Framework. However, the Compact Framework has only several features (classes, methods, etc...) from "full" framework.

×眷恋的温暖 2024-11-09 09:10:12

仅仅成为“.NET”并不意味着它独立于平台。 .NET Compact Framework 是完整框架的子集,并且(更重要的是)它不支持所有完整框架操作码。

这样做的最终结果是,完整的框架程序集永远不会在紧凑框架下运行。 CF加载器将无法找到桌面强名称框架程序集,即使将它们复制到设备,它们也将无法加载。

现在一个有趣的旁注是 CF 程序集可重定向的,这意味着为 CF 编译的东西可以复制到完整的框架并且它将运行(带有负载)注意事项)。做一个简单的 CF“Hello World”应用程序,您会发现它在桌面上运行良好。一旦您 P/Invoke coredll 或使用任何特定于 CF 的项目,您就会失败,但对于业务逻辑类型的简单程序集,您可以只使用 CF 编译的片段。

Just being ".NET" doesn't make it platform independent. The .NET Compact Framework is a subset of the full framework, and (more importantly) it doesn't support all of the full framework opcodes.

The net result of this is that a full framework assembly will never wok under the Compact Framework. The CF loader will not be able to find the desktop strong-named framework assemblies, and even if you copy them to the device, they will fail to load.

Now an intereting side note is that a CF assembly is retargetable, meaning that something compiled for the CF can be copied to the full framework and it will run (with a load of caveats). Do a simple CF "Hello World" app and you'll see it works fine on the desktop. As soon as you P/Invoke coredll or use any CF-specific items you'll get a failure, but for business logic type simple assemblies, you can just use the CF compiled pieces.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文