【问题标题】:Modifying a Portable Class Library project on a machine where some platforms are not installed在未安装某些平台的机器上修改可移植类库项目
【发布时间】:2012-11-15 14:38:31
【问题描述】:

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

  • .NET 4.5
  • .NET 用于市场应用程序
  • Windows Phone 8

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

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

【问题讨论】:

    标签: c# .net visual-studio-2012 portable-class-library


    【解决方案1】:

    现在,我们对此没有很好的答案。如果您放弃对 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/suggestions/3374340-allow-portable-libraries-targeting-windows-phone-8

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

    【讨论】:

      【解决方案2】:

      我们现在已经在 Visual Studio 2012 Update 2 中实现了这一点。这为 Windows Vista 和 Windows 7 上的便携式下层安装了所需的 Phone 8 支持。

      在此处获取最新的 CTP:http://www.microsoft.com/en-us/download/details.aspx?id=36833

      【讨论】:

        【解决方案3】:

        您可以选择仅支持配置文件 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


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

        【讨论】:

        • 感谢您的输入,但 PCL2 下载旨在使 Visual Studio 2010 与 VS2012 兼容。我在 Windows 7 和 Windows 8 机器上都使用 VS2012;我的问题更多地与需要安装的特定售后市场平台有关。
        • 我认为您不需要这些平台 - 我认为您只需要检查安装了哪些配置文件。 MSBuild 不知道 PCL 项目支持哪些平台 - 而它只知道它必须针对哪个配置文件进行构建。
        【解决方案4】:

        对我的 PCL 进行更改的“最佳”做法是什么 在某些平台(如 WP8)不支持的计算机上进行项目 安装?我是否应该手动删除该本地的那些平台 项目的副本,只有?

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

        【讨论】:

        • 这最终是我必须做的。我刚刚在 Windows 7 中打开了该项目,并“取消选中”了 Windows Phone 8 平台,以便编译其余部分。
        • @BTownTKD - 一旦 Windows Phone 7.8 版本的 SDK 发布,您可能会在未来侥幸逃脱。遗憾的是,尚未发布有关 Windows Phone 8 中的哪些功能将被 Windows Phone 7.8 完全支持的信息。仍然没有解决下划线的问题,我想将来可能不会成为问题。
        猜你喜欢
        • 1970-01-01
        • 2023-04-06
        • 2018-05-30
        • 2016-10-29
        • 1970-01-01
        • 2013-12-10
        • 1970-01-01
        • 2012-09-20
        • 2014-04-01
        相关资源
        最近更新 更多