0

所以我正在编写一个 Windows Phone 7.5 应用程序。

我使用 nuget 获得了 Facebook C# SDK 的 6.0.10.0 版本。

从我在网上阅读的内容看来,我应该能够做到以下几点......

var fb = new FacebookClient();
dynamic r = await fb.GetTaskAsync("4");

但是,我不认为GetTaskAsync是 FacebookClient 的一种方法。我只是得到通常的GetAsync方法。

在 Windows Phone 7.5 上使用 Facebook C# SDK 时 async/await 是否不起作用?

谢谢

4

1 回答 1

2

简短的回答:

http://csharpsdk.org/docs/known-issues

您不能在 Windows Phone 上使用 TPL,因此 Facebook C# SDK 在 Windows Phone 构建中不包含依赖于 TPL 的方法。

更长的答案:

源代码在 github 上,因此我们可以更具体地研究为什么该方法没有出现。

https://github.com/facebook-csharp-sdk/facebook-csharp-sdk/tree/master/Source/Facebook

列出的 csproj 文件仅显示 WP7 的目标(不是 WP75 或 WP8),因此,它似乎不能使用 TPL。

*TaskAsync 方法在 FacebookClient.Async.Tasks.cs 的部分类中实现,因此,它在 WP7 版本中不受支持,因为该源文件不包含在 csproj 中。

https://github.com/facebook-csharp-sdk/facebook-csharp-sdk/blob/master/Source/Facebook/FacebookClient.Async.Tasks.cs

也就是说,如果您愿意自己构建 facebook SDK,您可以只为PortableTPL安装nuget 包,然后在 csproj 中包含该部分类(不知道,没试过它)

于 2012-08-22T01:17:20.963 回答