【问题标题】:Developing app logic for WP7 without emulator在没有模拟器的情况下为 WP7 开发应用程序逻辑
【发布时间】:2011-11-18 16:01:24
【问题描述】:

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

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

【问题讨论】:

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


    【解决方案1】:

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

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

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

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

    缺点是在项目中添加新代码文件后,您需要从其他平台的对应项目中链接它。

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

    【讨论】:

    • 我不打算编写任何依赖于桌面的代码,所以没有硬编码的开关。我应该只是复制文件?是否可以只使用不同的项目文件来处理相同的文件?
    • 是的,这就是我的意思:在没有文件的项目中:右键单击项目 -> 添加现有项目 -> 导航到 cs 文件,而不是添加按钮单击下拉箭头并选择“添加为链接”。
    【解决方案2】:

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

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

    MVVM 被设计成能够像这样进行开发,所以恕我直言,它运行得非常好。

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        猜你喜欢
        • 2018-05-14
        • 2013-03-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多