如何组织 Windows Phone 代码库以同时针对 7.x 和 8 平台

2024-04-15

我接手了一个Windows 手机该项目之前针对的是 WP 7.1 平台,随着最近宣布的新平台,它也应该针对 WP 8。

My VS 2010解决方案包含几个项目(数据访问、模型、测试和 WP7 客户端应用程序),我正在思考如何包含对 WP8 的支持。

我必须指出,由于使用了专门针对 WP7.1 的 Toolkit 控件和其他 3rd 方库,代码库与 WP8 不兼容。

Visual Studio 版本还存在另一个问题 - WP7.1 可以与 VS 2010 配合使用,但 WP8 需要 VS 2012。我应该将整个代码库移至 VS 2012 吗?

关于如何以最有意义的方式组织代码库以避免重复和可能的痛苦维护,有什么好的建议吗?

我在想之间一种解决方案 - 多个项目 vs. 多种解决方案 - 可重复使用的项目方法。代码重复(如两个单独的文件夹/解决方案)应该是最不可能的方法(后备)。


最好的办法是将所有项目升级到 VS2012,以便能够支持两个 WP 版本(尽管它是 VS2012 解决方案,但您仍然可以在 VS2010 中打开 WP7 项目,因为它是落后的)兼容的)。

关于组织代码库的最佳方法,在我看来,您应该创建一个支持 WP7 和 WP8 的可移植库,并获取其中的所有通用代码库(可能主要是业务逻辑,如果您使用这样的模式,则特别好)如 MVVM)。不要忘记控件问题,您可能应该为 WP8 设置一些不同的控件,因为屏幕尺寸不一样,并且您可以获得更多可用信息并使用不同的控件。如果您仍想使用相同的 XAML 代码,请在其中一个项目中只包含一个文件,然后在要重新使用它的另一项目中添加该相同文件“作为链接”。

最后,您可以而且可能应该通过 #if 指令来使用一些条件代码编译。

希望这些信息对您有所帮助,如果需要任何代码示例,请直接说出来,我会尽力收集一些内容。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何组织 Windows Phone 代码库以同时针对 7.x 和 8 平台 的相关文章

  • 如何使用 ASP.NET MVC 编辑多选列表?

    我想编辑一个如下所示的对象 我希望用 UsersGrossList 中的一个或多个用户填充 UsersSelectedList 使用 mvc 中的标准编辑视图 我只得到映射的字符串和布尔值 下面未显示 我在 google 上找到的许多示例都
  • 元组在 VS2012 中如何工作?

    Visual Studio 2012 功能 tuples但不是可变参数模板 这是如何完成的 如何在不使用可变模板的情况下实现元组 简而言之 微软做了与之前在 NET 中实现类似元组的数据类型完全相同的事情 创建许多版本 每个版本都有固定数量
  • 无法将 std::min 传递给函数,std::min 的副本有效

    Passing std min函数无法编译 我复制了 libcpp 声明std min进入我的源文件并且它可以工作 std 版本有什么问题 clang 和 gcc 也会发生同样的情况 在 Godbolt 上测试 https godbolt
  • C# 处理标准输入

    我目前正在尝试通过命令行断开与网络文件夹的连接 并使用以下代码 System Diagnostics Process process2 new System Diagnostics Process System Diagnostics Pr
  • while循环中的变量初始化

    我有一个可以分块读取文件的函数 public static DataObject ReadNextFile 数据对象看起来像这样 public DataObject public string Category get set And ot
  • 静态类与类的实例

    我有一个静态类 用于访问我的公共属性 整个应用程序的全局属性 和我在应用程序运行期间使用的方法 例如 我在静态类中设置了一些属性 并且在应用程序运行时我可以从属性中获取值 但我可以使用单例模式创建非静态类并以相同的方式使用它 问题 对于我的
  • 如何在win32中使用GetSaveFileName保存文件?

    我编写此代码是为了获取 fileName 来保存我的文件 include stdafx h include
  • 通过 C# Mailkit / Mimekit 发送电子邮件,但出现服务器证书错误

    Visual Studio 2015 中的 0 代码 1 我正在使用 Mailkit 最新版本 1 18 1 1 从我自己的电子邮件服务器发送电子邮件 2 电子邮件服务器具有不受信任的自签名证书 3 我在代码中添加了以下两行 以忽略服务器证
  • 子目录中的头文件(例如 gtk/gtk.h 与 gtk-2.0/gtk/gtk.h)

    我正在尝试使用 GTK 构建一个 hello world 其中包括以下行 include
  • Xamarin - SignalR 挂在连接上

    我正在尝试将我的 Xamarin 应用程序连接到托管在 Azure 上的 SignalR 后端 我遇到的问题是每次我在 HubConnection 上调用 StartAsync 时 它都会挂起客户端并且请求永远不会完成 我尝试通过应用程序进
  • 时间:2019-03-17 标签:c++fstream并发访问

    如果从不同的进程 线程同时访问文件会发生什么 据我所知 没有锁定文件的标准方法 只有操作系统特定的功能 就我而言 文件将被经常读取而很少写入 现在如果A打开一个文件进行读取 ifstream 并开始读取块 和B打开相同的文件进行写入 ofs
  • 使用多线程进行矩阵乘法?

    我应该使用线程将两个矩阵相乘 有两件事 当我运行程序时 我不断得到 0 我还收到消息错误 对于每个错误 它在粗体行上显示 警告 从不兼容的指针类型传递 printMatrix 的参数1 我尝试打印输出 还要注意 第一个粗体块 这是我解决问题
  • ALTER TABLE ... ADD CONSTRAINT 失败时将事务回滚到保存点

    有没有办法在事务中添加检查约束and如果失败回滚到以前的保存点 而不是回滚整个事务 就我而言 当 ALTER TABLE ADD CONSTRAINT 命令失败时 事务无法回滚到保存点 尝试这样做会引发 InvalidOperationEx
  • 无法在 C# 中为 EventArgs 分配使用派生类型的事件处理程序

    所以我有一个事件声明如下 public event EventHandler OnChangeDetected 然后我有以下处理程序被分配给该事件 myObject OnChangeDetected OnTableChanged 我的理解是
  • 如何在dll级别读取app.config? [复制]

    这个问题在这里已经有答案了 我在一个解决方案中有一个控制台应用程序项目和库项目 dll The 图书馆项目有 app config 文件 我在其中存储我在库中使用的一些键值对 控制台应用程序引用此 dll 我有另一个 app config
  • Xamarin.Forms UWP 项目中标题栏和选项卡之间令人恼火的空白

    我几乎是新手Xamarin Forms我正在开发一个相当简单的跨平台应用程序 该应用程序在 Android 中显示得足够好 但在 UWP 中却出现了一个愚蠢的空白 该项目由一个 TabbedPage 组成 其中包含 4 个 Navigati
  • “必须声明标量变量”错误[重复]

    这个问题在这里已经有答案了 必须声明标量变量 Id SqlConnection con new SqlConnection connectionstring con Open SqlCommand cmd new SqlCommand cm
  • 是否可以使用 MS Visual Studio 作为 LaTeX 用户的 IDE?

    我是 Microsoft Visual Studio 的忠实粉丝 我喜欢代码折叠 自动完成 自动格式化等等 我想如果我能将 MS Visual Studio 用作 LaTeX 用户的 IDE 就好了 简而言之 可能吗 对于第一步 我认为让我
  • 如何在c linux中收听特定接口上的广播?

    我目前可以通过执行以下操作来收听我编写的简单广播服务器 仅广播 hello int fd socket PF INET SOCK DGRAM 0 struct sockaddr in addr memset addr 0 sizeof ad
  • 如何提高环复杂度?

    对于具有大量决策语句 包括 if while for 语句 的方法 循环复杂度会很高 那么我们该如何改进呢 我正在处理一个大项目 我应该减少 CC gt 10 的方法的 CC 并且有很多方法都存在这个问题 下面我将列出一些例如我遇到的问题的

随机推荐

  • Angular:仅刷新令牌一次

    我使用带有刷新令牌策略的 JWT 作为身份验证 并且我的 Angular 客户端中有一个拦截器 它将令牌作为标头发送 我在发送之前检查是否过期 并在需要时使用我的refreshToken刷新令牌 问题是当发送 2 个 或更多 请求时 两个请
  • 如何在项目之间共享 IntelliJ 运行/调试配置?

    我的应用程序有许多不同的版本 每个都是一个单独的 IntelliJ 项目 每次我打开一个新的配置列表时 配置列表都会从空白开始 烦人的事情是我部署到 1 个虚拟机 每次我想测试不同的版本时都必须复制并粘贴调试配置 IntelliJ 使每个
  • 如何区分杰克逊库中的空值字段和缺失字段

    我们正在使用一个 API 并且该 API 提供 xml 字段 我们必须为消费者将 xml 转换为 json 我们需要以 XML 形式显示我们所拥有的内容 并且只显示那些字段 如果字段存在并具有值 则显示它 如果字段不存在则不显示 如果字段存
  • 对于使用 Swift 的目标,需要正确配置“使用旧版 Swift 语言版本”(SWIFT_VERSION)。”

    自从我更新到 Xcode 8 2 GM 种子 来自 App Store 后 我一直遇到以下错误 需要使用旧版 Swift 语言版本 SWIFT VERSION 为使用 Swift 的目标正确配置 使用 编辑 gt Convert gt To
  • 使用列表推导式来产生副作用是 Pythonic 吗?

    考虑一下我调用的函数是因为它的副作用 而不是返回值 例如打印到屏幕 更新 GUI 打印到文件等 def fun with side effects x side effects return y 现在 是不是Pythonic使用列表推导式来
  • 在 dplyr 链中添加保证金行总计

    我想添加总体摘要行 同时还使用 dplyr 按组计算摘要 我发现了各种询问如何执行此操作的问题 例如here https stackoverflow com questions 26328336 using dplyr to add sum
  • 启用浏览器缓存静态资源

    为了提高站点性能 我在 IIS 7 5 中添加了以下 http 标头 Expires Sun 29 Mar 2020 00 00 00 GMT and Cache Control Public 我添加这些标题是为了images站点虚拟目录中
  • 如何解决 .NET 套接字和 TCP 可能出现的丢包问题?

    我需要一些帮助来解决我在使用 NET 套接字通过 TCP 传输大量数据时遇到的问题 简而言之 当客户端应用程序启动时 它会连接到服务器上的特定端口 连接后 服务器开始向客户端发送实时数据 客户端在类似股票的 UI 中显示信息 服务器支持多个
  • 无法在 ASP.NET MVC 项目中添加控制器

    我正在尝试在 ASP NET MVC 项目中添加控制器 我正在使用 Entity Framework Code First 5 0 当我右键单击控制器我的项目中的文件夹并选择添加控制器 选择后具有读 写操作和视图的 MVC 控制器 使用实体
  • 是否有像 iOS 8 photo.app 一样用于图像裁剪和旋转的视图控制器?

    我需要一个视图控制器供用户裁剪和旋转图像 而且我认为iOS8照片应用程序的UI非常棒 但我只找到了这两个 https github com heitorfr ios image editor https github com heitorf
  • Android ListFragment 令人困惑

    我对使用 ListFragment 感到很困惑 我不明白问题出在哪里 这是我的 FragmentActivity 类 import android os Bundle import android support v4 app Fragme
  • C# 如何验证 JWT 令牌上的签名?

    我试图了解如何使用 NET Framework 验证 JWT 令牌的签名 我正在使用在以下位置找到的令牌https jwt io https jwt io 如果我理解这是如何工作的 我可以使用 HMACSHA256 哈希算法与前两个令牌和一
  • 如何获取某一列的总和

    我有以下查询 它为我提供了所需的数据 但是 我需要 CASE 语句中的现金 信用和支票列的总和 我怎样才能实现这个目标 如果可能的话 我想为此使用一个程序 另外 对我来说 这个查询似乎并不那么有效 有人可以对此进行改进吗 在我看来 我应该能
  • 无法在 WP7 上使用调度程序

    我正在寻找使用调度程序在 UI 线程上调用代码的参考 他们说要这样做 Dispatcher BeginInvoke gt OnSendSuccessful 但我收到编译器错误 指出我无法在静态上下文中访问非静态方法 BeginInvoke
  • TCP 兼容性:为什么 TCP 不兼容数据包广播和组播操作?

    http en wikipedia org wiki User Datagram Protocol http en wikipedia org wiki User Datagram Protocol 与 TCP 不同 UDP 与数据包广播
  • 从谷歌colab中的驱动器读取文件

    我已阅读notebook https colab research google com notebooks io ipynb关于如何打开驱动器 我已经按照指示使用 from google colab import drive drive
  • 根据向量元素的数量截断数据框

    我有一个数据框df 包含三个向量 subject condition value 01 A 12 01 A 6 01 B 10 01 B 2 02 A 5 02 A 11 02 B 3 02 B 5 02 B 9 主题 01 有四个观察值
  • 非英文网址的 Facebook 分享问题

    我们有一个阿拉伯语网站 我们正在尝试在脸书上分享一个网址 网址看起来像 http www website com ar http www website com ar story 75 问题是 Facebook 没有在上面的链接上显示缩略图
  • Angular,有没有办法在没有表单的情况下“markAsTouched”字段?

    我已经知道了inputa 内的物品FormControl可以标记dirt or touched通过调用以下任何方法 也许更多 group markAsTouched form get control name markAsTouched f
  • 如何组织 Windows Phone 代码库以同时针对 7.x 和 8 平台

    我接手了一个Windows 手机该项目之前针对的是 WP 7 1 平台 随着最近宣布的新平台 它也应该针对 WP 8 My VS 2010解决方案包含几个项目 数据访问 模型 测试和 WP7 客户端应用程序 我正在思考如何包含对 WP8 的