【问题标题】:Cannot change target framework of a PCL无法更改 PCL 的目标框架
【发布时间】:2013-04-20 12:35:50
【问题描述】:

我正在尝试创建一个跨平台项目,以便重用 Windows Phone (7.5) 和 WinRT 简单游戏中的大部分代码。我正在尝试使用可移植类库,现在官方支持 WinPhone 7.5 项目(Microsoft.Bcl.Async)中的异步操作。我在为 Bcl.Async 安装 NuGet 包时遇到问题(找不到兼容的框架),在谷歌搜索之后我发现问题是我的 PCL 的目标是 Windows Phone 7(不是必需的 7.5)项目。

问题是,如果我尝试以 WinPhone 7.5 为目标,我会收到以下消息:

为什么我不能以 Windows Phone 7.5 为目标?有办法强制吗? (对不起,也许这是一个真正的菜鸟问题......但我无法在任何地方找到答案)。另请注意,这是一个有效的框架组合,如您可以在此处找到的 msdn 指南中所述: http://msdn.microsoft.com/en-us/library/gg597391.aspx.

【问题讨论】:

  • 那么,到底是什么问题呢?您可以单击确定并创建 PCL,然后安装 Microsoft.Bcl.Async 并按预期工作。
  • 我无法在我的 PCL 项目中安装 Bcl.Async,因为我的目标是 Windows Phone 7(不是 7.5),如此处所述(请在此处查看问题 1 blogs.msdn.com/b/bclteam/p/asynctargetingpackkb.aspx )
  • 如果我尝试这样做,我不会收到该消息。你的VS是最新的吗? (VS 2012 Update 2 应该是最新版本。)
  • 它没有更新,但它不是解决方案。无论如何谢谢=)

标签: c# windows-phone-7 windows-8 portable-class-library


【解决方案1】:

我找到了解决这个问题的方法……我是原因 =) 我正在尝试使用 MvvmCross 和 Xamarin 来编写跨平台代码,但是当我更改 Profile104 以为我的 PCL 提供 Mono for Android 目标时,我犯了一些错误。 删除它解决了我的问题。

感谢大家的回答。

【讨论】:

    【解决方案2】:

    您只能在面向 .NET 4.5、Windows 应用商店和 Windows Phone 8 应用的 PCL 项目中使用 async/await。因为 Windows Phone 7.5 对异步的支持不是开箱即用的,并且依赖于开发人员的机器,所以您可能会遇到此类问题。我的第一个建议是updating the SDK

    您应该以 Windows Phone 8 为目标,以使其默认工作。

    【讨论】:

    • Microsoft.Bcl.Async 的全部意义在于能够做到这一点。
    • 您正在考虑开箱即用的异步支持。 WP7.5 没有。
    • 不,我正在考虑使用 Microsoft.Bcl.Async,这正是问题所在。
    • 您错过了框架版本切换的原因。
    • @DenDelimarsky 我认为您感到困惑或某处存在沟通障碍。 Microsoft.Bcl.Async 的重点是允许您在不支持开箱即用的平台上使用 async 和 await,例如 WP7.5。我不会将其称为依赖于开发人员机器,它是一个 NuGet 包,因此依赖项被添加到您的解决方案中(并且可以随它一起移动),而不是需要某种机器范围的安装。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-06
    • 1970-01-01
    • 2019-05-04
    • 2018-03-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多