在没有模拟器的情况下为WP7开发app逻辑

时间:2011-11-10 18:10:51

标签: c# visual-studio-2010 windows-phone-7 compact-framework

我在受限制的环境中工作(VirtualBox下的win7),一切都很好,除了模拟器(在真实手机上调试就可以了)。但我是Visual Studio和.NET的新手,并希望在单独的库中开发所有逻辑(至少与Web,算法,数据模型的交互)(以便在简单的控制台或WPF应用程序上进行测试)。

但问题来了 - WP7库使用特殊解决方案(默认情况下所有项目都是针对.NET Framework 4构建的,当手机运行.NET CF 3.7时,为什么?)。我应该如何设置IDE,构建跨平台(我的意思是桌面/ windows phone 7)库?

3 个答案:

答案 0 :(得分:2)

您可以创建并行项目(一个用于桌面,一个用于手机),并将c#文件添加到其中一个项目中,并将它们链接到另一个项目中。

要添加指向文件的链接而不是复制它,请按照下列步骤操作: 右键单击项目=>添加现有项目 - >选择文件 - >单击“添加”按钮旁边的下拉箭头,然后选择“添加为链接”。

要解决任何不兼容问题,您可以定义条件编译符号,如PHONE,并将不兼容的代码包装在:

#if PHONE
 //phone code
#else
 //desktop code
#endif

缺点是在项目中添加新代码文件后需要从另一个平台的共同项目链接它。

我认为没有更简单的方法可以做到这一点。

答案 1 :(得分:0)

您可以使用MVVM模式在一个程序集中开发视图模型(业务逻辑),然后在准备好UI时,可以创建WP7项目并在该项目中创建视图,引用视图模型第一个项目。

这将允许您首先对所有逻辑进行单元测试和开发,然后创建视图并绑定到相应视图模型上的相应属性。

MVVM旨在能够像这样开发,所以它的效果非常好恕我直言。

答案 2 :(得分:0)

我的熟人建议使用Portable Library Tools,它允许为多个目标平台(xbox,winphone7,silverlight等)创建可移植的库而无需重新编译。看起来很有希望。