3

我有一个支持以下平台的 PCL 项目:

  • .NET 4.5
  • .NET 用于市场应用程序
  • 视窗电话 8

我遇到的问题是;虽然我可以在安装了 Windows 8(以及 Windows Phone 8 SDK)的计算机上使用该项目,但我根本无法在没有 WinPhone8 SDK 的任何 Windows 7 计算机上构建该项目。我也无法安装 WP8 SDK,因为它需要 Windows 8。我可以手动编辑源文件,但我无法构建 PCL 项目来验证没有编译器错误。

在未安装某些平台(如 WP8)的计算机上更改我的 PCL 项目的“最佳”实践是什么?我是否应该仅手动删除该项目的本地副本的这些平台?

4

4 回答 4

4

我们现在没有一个好的答案。如果您放弃对 Phone 8 的支持(或完全恢复到 Phone 7.5),那么您可以在 Windows 7 上构建。原因是因为 Phone 工具本身支持 Phone 8,因此它不能安装在 Windows 7 上,便携电话 8 也不支持。

但是,我们正在考虑在明年某个时候的 Visual Studio 更新中解决这个问题,我已经通过 visualstudio.uservoice.com 提交了用户建议:http: //visualstudio.uservoice.com/forums/121579-visual-studio/建议/3374340-allow-portable-libraries-targeting-windows-phone-8

如果您觉得它很重要,请投票 - 在试图弄清楚下一步该做什么时,客户反馈的价值非常高。

于 2012-11-21T04:04:21.237 回答
1

一个选项是您只支持配置文件 1-4 - 这些在第一代 PCL 工具中可用 - http://visualstudiogallery.msdn.microsoft.com/b0e0b5e9-e138-410b-ad10-00cb3caf4981

如果您想开发更高级的功能(例如 Linq2Xml),那么您需要将缺少的“配置文件”安装到 win7 机器上。

这可能就像升级到 PCL2 下载一样简单 - http://visualstudiogallery.msdn.microsoft.com/b0e0b5e9-e138-410b-ad10-00cb3caf4981/ - 这应该(我认为)安装超过 1-4 的新配置文件

我希望以上内容对你有用......

如果没有,那么您需要浏览到 Windows 7 机器上的参考程序集目录,并且您需要从 Win8 手动复制缺少的配置文件。有关 PCL 参考程序集如何工作的一些参考,请查看我们为构建 MonoTouch 和 MonoDroid 所做的一些黑客行为 - http://jpobst.blogspot.co.uk/2012/04/mono-for- android-portable-libraries-in.htmlhttp://slodge.blogspot.co.uk/2012/04/using-portable-library-tools-for.html


您可能会发现另一件事有用 - nuget 包将 await/async 带回 wp7.1 开发 - http://blogs.msdn.com/b/bclteam/archive/2012/10/22/using-async-await-无网络框架 4-5.aspx

于 2012-11-16T08:03:19.917 回答
1

We've now made this possible in Visual Studio 2012 Update 2. This installs the required Phone 8 support for portable down-level on Windows Vista and Windows 7.

Grab the latest CTP here: http://www.microsoft.com/en-us/download/details.aspx?id=36833.

于 2013-03-11T17:11:10.350 回答
0

在未安装某些平台(如 WP8)的计算机上更改我的 PCL 项目的“最佳”实践是什么?我是否应该仅手动删除该项目的本地副本的这些平台?

您的问题就是您的问题的解决方案,由于 Windows Phone 8 SDK 本身的要求,您将无法在 Windows 7 上处理 PCL 项目。在 Windows Phone 8 SDK 支持 Windows 7 之前,您只有有限的选择,除非您删除 Windows 7 不支持的平台。

于 2012-11-15T15:00:55.743 回答