我目前正处于一个新项目的准备阶段,该项目将使用.NET Compact Framework(2.0或3.5,我们将看到)开发,并将在自定义Windows CE 6硬件上运行。但是,有一件事我无法开展工作:
只有使用物理设备或模拟器才能进行调试。但是,当我刚从资源管理器启动应用程序时,它在我的桌面上运行得非常愉快(当然,因为CF安装在我的开发机器上。所以,实际的问题是:
如何使用桌面CF框架上运行的应用程序在桌面系统上调试.NET CF应用程序?或者这不可能吗?如果是后者,我应该怎么做?创建一个非CF项目进行调试?我知道我应该在设备上进行调试,这对应用程序的后端至关重要,但GUI可以在桌面上进行调试。由于它使用OpenGL,因此运行速度比模拟器快(设备具有OpenGL加速)。
答案 0 :(得分:4)
通常我创建2个项目,一个用于桌面,一个用于CF.桌面版本是一个桌面exe,只引用CF .dll(这很好)。显然你需要将你的主应用程序推入图书馆并使你的实际.exe只是一个非常轻的包装(但这是一个非常好的设计)
它实际上并不是在CF上运行,而是FF,所以在实现的差异中你可能会注意到一些兼容性问题。
另一个选项是使用Visual Studio中的调试选项来“附加到进程”。这样,您可以通过双击运行应用程序,然后只需附加到该过程。
答案 1 :(得分:3)
按照Daniel Moth的指南设置“我的电脑”部署目标:
"The Moth: Deploy to My Computer"
然后选择此作为智能设备项目的部署目标,然后按F5。 尽量避免使用任何特定于平台的模块/方法等。
如果您是Compact Framework开发人员,Moth博客的博客中有很多很棒的博客文章。
答案 2 :(得分:0)
我知道你在调试CF应用程序时模拟器性能下降的意思。
不幸的是,我不认为这是开箱即用的。如果您注意到,VS中的调试器始终会检查您的连接设备是什么,以决定是否应该部署您的应用程序,具体取决于自上次部署以来您是否有任何更改。
如果有人想要在模拟器或设备之外调试,他们应该尝试在该列表中放置另一个“模拟器”,这可能不是典型的模拟器,而是桌面本身。不幸的是,我认为这是不可能的。
当然,我已经准备好由更有经验的CF开发人员纠正。如果有这样一种用于调试CF应用的技术,我会非常感兴趣!
答案 3 :(得分:0)
准备连接设备
准备Visual Studio以进行连接
设置安全性并建立连接 1.在设备的命令提示符下,运行cMaccept.exe。