如何组织 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 平台 的相关文章

  • 如何将 std::string& 转换为 C# 引用字符串

    我正在尝试将 C 函数转换为std string参考C 我的 API 如下所示 void GetStringDemo std string str 理想情况下 我希望在 C 中看到类似的东西 void GetStringDemoWrap r
  • BASIC 中的 C 语言中的 PeekInt、PokeInt、Peek、Poke 等效项

    我想知道该命令的等效项是什么Peek and Poke 基本和其他变体 用 C 语言 类似PeekInt PokeInt 整数 涉及内存条的东西 我知道在 C 语言中有很多方法可以做到这一点 我正在尝试将基本程序移植到 C 语言 这只是使用
  • 调用 McAfee 病毒扫描引擎

    我收到客户的请求 要求使用他们服务器上的 McAfee 病毒扫描将病毒扫描集成到应用程序中 我做了一些调查 发现 McScan32 dll 是主要的扫描引擎 它导出各种看起来有用的函数 我还发现提到了 McAfee Scan Engine
  • STL 迭代器:前缀增量更快? [复制]

    这个问题在这里已经有答案了 可能的重复 C 中的预增量比后增量快 正确吗 如果是 为什么呢 https stackoverflow com questions 2020184 preincrement faster than postinc
  • 在一个数据访问层中处理多个连接字符串

    我有一个有趣的困境 我目前有一个数据访问层 它必须与多个域一起使用 并且每个域都有多个数据库存储库 具体取决于所调用的存储过程 目前 我只需使用 SWITCH 语句来确定应用程序正在运行的计算机 并从 Web config 返回适当的连接字
  • 如何在 Cassandra 中存储无符号整数?

    我通过 Datastax 驱动程序在 Cassandra 中存储一些数据 并且需要存储无符号 16 位和 32 位整数 对于无符号 16 位整数 我可以轻松地将它们存储为有符号 32 位整数 并根据需要进行转换 然而 对于无符号 64 位整
  • -webkit-box-shadow 与 QtWebKit 模糊?

    当时有什么方法可以实现 webkit box shadow 的工作模糊吗 看完这篇评论错误报告 https bugs webkit org show bug cgi id 23291 我认识到这仍然是一个问题 尽管错误报告被标记为RESOL
  • 如何连接重叠的圆圈?

    我想在视觉上连接两个重叠的圆圈 以便 becomes 我已经有部分圆的方法 但现在我需要知道每个圆的重叠角度有多大 但我不知道该怎么做 有人有主意吗 Phi ArcTan Sqrt 4 R 2 d 2 d HTH Edit 对于两个不同的半
  • 用于 FTP 的文件系统观察器

    我怎样才能实现FileSystemWatcherFTP 位置 在 C 中 这个想法是 每当 FTP 位置添加任何内容时 我都希望将其复制到我的本地计算机 任何想法都会有所帮助 这是我之前问题的后续使用 NET 进行选择性 FTP 下载 ht
  • C++ 多行字符串原始文字[重复]

    这个问题在这里已经有答案了 我们可以像这样定义一个多行字符串 const char text1 part 1 part 2 part 3 part 4 const char text2 part 1 part 2 part 3 part 4
  • 如何获取 EF 中与组合(键/值)列表匹配的记录?

    我有一个数据库表 其中包含每个用户 年份组合的记录 如何使用 EF 和用户 ID 年份组合列表从数据库获取数据 组合示例 UserId Year 1 2015 1 2016 1 2018 12 2016 12 2019 3 2015 91
  • 结构体的内存大小不同?

    为什么第一种情况不是12 测试环境 最新版本的 gcc 和 clang 64 位 Linux struct desc int parts int nr sizeof desc Output 16 struct desc int parts
  • 为什么这个字符串用AesCryptoServiceProvider第二次解密时不相等?

    我在 C VS2012 NET 4 5 中的文本加密和解密方面遇到问题 具体来说 当我加密并随后解密字符串时 输出与输入不同 然而 奇怪的是 如果我复制加密的输出并将其硬编码为字符串文字 解密就会起作用 以下代码示例说明了该问题 我究竟做错
  • 如何定义一个可结构化绑定的对象的概念?

    我想定义一个concept可以检测类型是否T can be 结构化绑定 or not template
  • 为什么 C# 2.0 之后没有 ISO 或 ECMA 标准化?

    我已经开始学习 C 并正在寻找标准规范 但发现大于 2 0 的 C 版本并未由 ISO 或 ECMA 标准化 或者是我从 Wikipedia 收集到的 这有什么原因吗 因为编写 审查 验证 发布 处理反馈 修订 重新发布等复杂的规范文档需要
  • 两个类可以使用 C++ 互相查看吗?

    所以我有一个 A 类 我想在其中调用一些 B 类函数 所以我包括 b h 但是 在 B 类中 我想调用 A 类函数 如果我包含 a h 它最终会陷入无限循环 对吗 我能做什么呢 仅将成员函数声明放在头文件 h 中 并将成员函数定义放在实现文
  • 如何在 Android 中使用 C# 生成的 RSA 公钥?

    我想在无法假定 HTTPS 可用的情况下确保 Android 应用程序和 C ASP NET 服务器之间的消息隐私 我想使用 RSA 来加密 Android 设备首次联系服务器时传输的对称密钥 RSA密钥对已在服务器上生成 私钥保存在服务器
  • C++ 中的 include 和 using 命名空间

    用于使用cout 我需要指定两者 include
  • 在OpenGL中,我可以在坐标(5, 5)处精确地绘制一个像素吗?

    我所说的 5 5 正是指第五行第五列 我发现使用屏幕坐标来绘制东西非常困难 OpenGL 中的所有坐标都是相对的 通常范围从 1 0 到 1 0 为什么阻止程序员使用屏幕坐标 窗口坐标如此严重 最简单的方法可能是通过以下方式设置投影以匹配渲
  • 使用 WGL 创建现代 OpenGL 上下文?

    我正在尝试使用 Windows 函数创建 OpenGL 上下文 现代版本 基本上代码就是 创建窗口类 注册班级 创建一个窗口 choose PIXELFORMATDESCRIPTOR并设置它 创建旧版 OpenGL 上下文 使上下文成为当前

随机推荐

  • 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 的