如何从Windows Phone 7模拟器中获取数据

时间:2010-10-15 06:54:09

标签: c# windows-phone-7

我有一个WP7的单元测试框架,它可以在手机上运行。结果很难阅读,因此我将它们写入XDocument。

我的问题是,如何将这个XML文件从手机中取出并放到我可以实际分析结果的桌面上?

到目前为止,我所做的是在创建摘要xml之后放置一个Debugger.Break()行。然后我可以将xml复制/粘贴到VS中,或者在调试器中检查它。但问题是,如果你还没有连接调试器(当许多ExpectedException测试时很好)Debugger.Attach()似乎不起作用,那么手动将VS附加到模拟器进程似乎什么都不做。 / p>

我尝试使用一些额外的命令行参数运行模拟器,所以我可以尝试看看我是否可以使用我的实际硬盘驱动器,因为它是自己的磁盘,但我似乎无法让它工作...... < / p>

PS弹出一个新的进程(如网络服务器)来监听这些数据可能是不合理的。我知道该怎么做,我宁愿不这样做。

那你怎么能从这些手机上拿走东西?

2 个答案:

答案 0 :(得分:2)

看看这个article about emulator automation from Justin Angel 它包括有关如何从/向仿真器/设备隔离存储远程读取和写入文件的详细信息。

正如您所指出的那样,另一种选择是让应用程序将结果发送到[本地] Web服务器。

答案 1 :(得分:1)

Justin Angel的article非常棒,但不幸的是他的基于文件的解决方案无法在CoreCon API的最终RTM版本上运行。 Microsoft已经从原生conman层中删除了该功能。

我和你一样处于同样的境地,并考虑过各种方法从设备中获取数据,但最终只有一件事似乎有效:正如你自己建议的那样,将数据传递给外部网络服务。 / p>

这个解决方案不太理想,不仅因为需要付出一些努力,还因为一些警告:

  • 您的应用必须获得ID_CAP_NETWORKING功能
  • 在Application_Closing事件中似乎不允许网络流量,也可能在其他地方

从好的方面来说,我发现来自手机的网络请求,无论是硬件还是模拟器,都非常快,所以这种方法非常有效(我们的应用程序是{7}},用于WP7)。