nuget无法在通用应用程序中添加对Windows Phone 8.1项目的引用

时间:2014-05-15 17:13:42

标签: c# windows facebook windows-phone-8

我有一个奇怪的问题,我正在将Windows Phone 8应用迁移到Windows Phone 8.1通用应用。我正在使用FacebookFacebook.Client个包。在Windows Phone 8.1中,通用应用程序项目nuget包管理器无法通过说出Couldn't find any packages that support Windows phone 8.1之类的错误将Facebook包添加到项目中,在此错误之后我手动添加了FacebookFacebook.Client引用旧的Windows Phone 8项目,当我构建项目编译器抛出错误时:

  

错误1在模块System.Windows.dll中找不到类型System.Windows.Controls.Control

实际上我添加了Windows Phone 8 Facebook.Client.dll。所以编译器会抛出此错误。在此之后我添加了Windows 8 Facebook.Client.dll,构建成功。但是当我调用facebook Loginasync()方法时,我收到NotImplementedException

任何人都可以帮我解决此异常问题。我猜Facebook包不会更新,以支持Windows Phone 8.1通用应用程序。如果是这样,任何人都可以帮助我如何在Facebook Phone 8.1通用应用程序中集成Facebook(Windows 8.1工作正常)。

2 个答案:

答案 0 :(得分:2)

Facebook软件包已迁移到Universal应用程序堆栈,但Facebook.Client软件包尚未迁移。用于Windows Phone 8的Facebook.Client版本针对的是Silverlight版本的API,因此它不会自动神奇地转换为支持Windows Phone 8.1 Universal项目。有人需要移植它。

可在此处找到来源: https://github.com/facebook-csharp-sdk/facebook-winclient-sdk

答案 1 :(得分:1)

对于Windows Phone 8.1,您需要在登录过程中执行新步骤。

在App.xaml.cs的OnActivated中添加以下代码:

if (args.Kind == ActivationKind.WebAuthenticationBrokerContinuation)
{
  App.MobileService.LoginComplete(args as WebAuthenticationBrokerContinuationEventArgs);
}