C# 为什么可以';t我在使用Microsoft.Bcl时在我的Windows Phone 7.1 MvvmCross项目中使用wait关键字-cannot wait';System.Threading.Tasks.Task?

C# 为什么可以';t我在使用Microsoft.Bcl时在我的Windows Phone 7.1 MvvmCross项目中使用wait关键字-cannot wait';System.Threading.Tasks.Task?,c#,windows-phone,mvvmcross,portable-class-library,base-class-library,C#,Windows Phone,Mvvmcross,Portable Class Library,Base Class Library,在使用Microsoft.Bcl“Microsoft Bcl便携包”时,我无法在我的MvvmCross Windows Phone 7.1项目中使用wait关键字 我已经发布了下面描述的示例项目的代码 当我尝试构建包含FirstViewModel的第三个“核心”Windows可移植类库(PCL)时,出现以下错误: Type System.Threading.Tasks.Task<string> not awaitable under VS red squiggles, and Can

在使用Microsoft.Bcl“Microsoft Bcl便携包”时,我无法在我的MvvmCross Windows Phone 7.1项目中使用wait关键字

我已经发布了下面描述的示例项目的代码

当我尝试构建包含FirstViewModel的第三个“核心”Windows可移植类库(PCL)时,出现以下错误:

Type System.Threading.Tasks.Task<string> not awaitable under VS red squiggles, and
Cannot await 'System.Threading.Tasks.Task<string>' when building.
  • 此PCL配置文件在Visual Studio项目属性中显示为针对这些平台: .NET用于Windows应用商店应用程序、.NET 4.5、Silverlight 4+和Windows 7.5+

  • 解决方案中的每个项目还通过NuGet引用了Microsoft.Bcl“Microsoft Bcl可移植性包”

  • 所有四个项目都使用MvvmCross(Mvx)

  • 本示例中没有一个项目试图针对与Xamarin Droid/iOS堆栈相关的任何内容。这是所有的窗口,仍然是失败的等待关键字

  • 带有接口的PCL和Windows Phone类库都使用Mvx CrossCore NuGet软件包,并设置为“Mvx插件”

  • “核心”PCL使用完整的MvvmCross NuGet包,并包含发生等待错误的FirstViewModel

  • Windows Phone应用程序项目也引用完整的MvvmCross,并将特定于Windows Phone的Mvx文件拉入其中

  • 如前所述


您需要添加
Microsoft.Bcl.Async
NuGet包


这些软件包以前在非Microsoft平台上不可用,但作为Xamarin协作的一部分,Microsoft可以在所有平台上使用。

我认为只需在SO上键入一本书,点击“提交”,然后您就会意识到这一点:)谢谢。我将NuGet添加到核心PCL中,并构建了它。哼!哇,太蠢了!:)仍然不确定Mvx应用程序是否正常工作,但添加了NuGet for sure修复了等待错误,显然:)我正在测试该应用程序是否正常工作,并在允许的情况下接受它。请注意,Microsoft谢天谢地删除了“仅限Windows”BCL和其他软件包的许可限制使得这对于可移植的跨平台开发更好:Microsoft.BCL.Async是WP7.5+,而不是WP7.1+@Cœur:WP 7.1和WP 7.5是同一平台。WP 7.5是营销名称;WP 7.1是内部使用的。所以令人困惑。。。为什么VisualStudioTarget显示7.1和Nuget 7.5包?我失去了一天的支持,客户问我是否可以支持7.1,我回答“不,我只看到异步的7.5兼容性”。现在,什么是7.8是我的下一个谜。。。
C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETPortable\v4.0\Profile\Profile104\