在本地调试.NET Compact Framework应用程序(无需模拟器或设备)

时间:2009-03-17 09:50:47

标签: visual-studio-2008 debugging compact-framework windows-ce

我目前正处于一个新项目的准备阶段,该项目将使用.NET Compact Framework(2.0或3.5,我们将看到)开发,并将在自定义Windows CE 6硬件上运行。但是,有一件事我无法开展工作:

只有使用物理设备或模拟器才能进行调试。但是,当我刚从资源管理器启动应用程序时,它在我的桌面上运行得非常愉快(当然,因为CF安装在我的开发机器上。所以,实际的问题是:

如何使用桌面CF框架上运行的应用程序在桌面系统上调试.NET CF应用程序?或者这不可能吗?如果是后者,我应该怎么做?创建一个非CF项目进行调试?我知道我应该在设备上进行调试,这对应用程序的后端至关重要,但GUI可以在桌面上进行调试。由于它使用OpenGL,因此运行速度比模拟器快(设备具有OpenGL加速)。

4 个答案:

答案 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)

准备连接设备

  1. 使用与您拥有的设备的任何连接,复制 将以下文件发送到设备上的\ Windows \文件夹。这些文件 默认情况下位于开发计算机上的\ Program Files \ Common Files \ Microsoft Shared \ CoreCon \ 1.0 \ Target \ wce400 \。 Clientshutdown.exe ConmanClient2.exe CMaccept.exe eDbgTL.dll TcpConnectionA.dll
  2. 从设备上的命令提示符处运行conmanclient2.exe。
  3. 确定设备的IP地址。
  4. 准备Visual Studio以进行连接

    1. 在“Visual Studio工具”菜单上,单击“选项”,然后单击“设备” 单击工具,然后单击设备。
    2. 选择“Windows CE设备”,然后单击“属性”。
    3. 在“传输”框右侧,单击“配置”。
    4. 在“配置TCP / IP传输”对话框中,选择“使用特定IP地址”,然后键入设备IP地址。
    5. 设置安全性并建立连接  1.在设备的命令提示符下,运行cMaccept.exe。