为Xamarin.Forms PCL安装ADAL包后缺少资源

时间:2016-07-19 21:36:36

标签: c# azure xamarin.android xamarin.forms adal

我正在开发一个Xamarin.Forms PCL移动应用程序,需要访问需要通过Azure进行身份验证的内部API。我的同事给了我一个在控制台应用程序中运行的代码片段,我正在尝试将其用于我的移动应用程序。

我能够成功将ADAL package添加到PCL。但是,身份验证要求我为每个特定于平台的版本传递一组PlatformParameters。当我尝试将ADAL包添加到Xamarin.Android项目时,我的Resource.Designer.cs文件中出现以下错误:

ERROR: 'Resource.Id' does not contain a definition for 'agentWebView'
ERROR: 'Resource.Layout' does not contain a definition for 'WebAuthenticationBroker'

Resource.Designer.cs中相关(自动生成)的代码行是:

global::Microsoft.Experimental.IdentityModel.Clients.ActiveDirectory.Resource.Id.agentWebView = global::MissionControlAuth.Droid.Resource.Id.agentWebView;      
global::Microsoft.Experimental.IdentityModel.Clients.ActiveDirectory.Resource.Layout.WebAuthenticationBroker = global::MissionControlAuth.Droid.Resource.Layout.WebAuthenticationBroker;

这些缺失资源的名称表明我需要将ADAL包指向可用于向用户显示登录页面的webview。不幸的是,我还没有在StackOverflow或Xamarin论坛上找到任何提及。如何为我的Xamarin.Forms PCL正确设置ADAL包?

平台/图书馆版本

  • .NET Framework 4.5
  • 针对Xamarin.Android和UWP的Xamarin.Forms v2.0.0.6482
  • Visual Studio 2015
  • Microsoft.IdentityModel.Clients.ActiveDirectory v3.5.207081303-alpha(relevant answer
    • 或者,Microsoft.Experimental.IdentityModel.Clients.ActiveDirectory v4.0.209160138-alpha(relevant answer

重现步骤

  1. 创建一个新的Xamarin.Forms PCL项目。
  2. 选择上述ADAL包中的一个,并将其添加到PCL。
  3. 将相同的软件包版本添加到Xamarin.Android项目中。该库将成功安装,但在"错误列表"中将缺少资源错误。 Visual Studio中的选项卡。

1 个答案:

答案 0 :(得分:0)

不支持实验库。请切换到https://www.nuget.org/packages/Microsoft.Identity.Client

提供的MSAL