nuget无法在通用应用程序中向Windows phone 8.1项目添加引用

本文关键字:phone Windows 项目 引用 添加 应用程序 nuget | 更新日期: 2023-09-27 18:03:39

我有一个奇怪的问题,我正在将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包到项目中,在此错误之后,我从我的旧Windows Phone 8项目手动添加了FacebookFacebook.Client引用,当我构建项目编译器抛出错误:

错误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集成到Windows Phone 8.1通用应用程序(Windows 8.1工作良好)。

nuget无法在通用应用程序中向Windows phone 8.1项目添加引用

Facebook包已经迁移到通用应用程序堆栈,然而Facebook。客户端包没有。Facebook。Windows Phone 8的客户端版本针对的是Silverlight版本的api,所以它不会自动神奇地转换为支持Windows Phone 8.1的通用项目。需要有人移植它。

源代码可以在这里找到:https://github.com/facebook-csharp-sdk/facebook-winclient-sdk

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

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

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