【发布时间】:2019-05-31 12:16:25
【问题描述】:
我正在使用 Xamarin.Forms 开发一个应用程序,该应用程序的第一个版本应该在 Windows 和 Android 上运行。 应该是Graph API来访问OneDrive/OneNote。
我已经设法在 UWP(通用 Windows 平台)下检索到登录用户的名称。 所以我尝试将相同的应用程序部署到 Android,其中调用与以下扩展非常相似:
- UIParent 是必需的
- AuthenticationAgentContinuationHelper.SetAuthenticationAgentContinuationEventArgs(requestCode, resultCode, data);需要打电话
UIParent 部分已经可以使用,但 AuthenticationAgentContinuationHelper 无法内置到应用中。
这里 Visual Studio 说:
Duplicate Java type found!
Mappings between managed types and Java types must be unique.
First Type:
'Microsoft.Identity.Client.Platforms.Android.SystemWebview.AuthenticationActivity, Microsoft.Identity.Client, Version=2.6.2.0, Culture=neutral, PublicKeyToken=0a613f4dd989e8ae';
Second Type:
'Microsoft.Identity.Core.UI.SystemWebview.AuthenticationActivity, Microsoft.IdentityModel.Clients.ActiveDirectory, Version=4.3.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'
Xamarin 应用程序使用“.NET Standard”代码共享策略和 Visual Studio 中的空白模板作为新应用程序启动。正如我所读到的,这已经取代了“PCL”方式,在 VS2017 中无法选择。
您知道如何解决这个问题吗?
【问题讨论】:
-
您是否同时使用了 Xamarin.Auth 和 MobileServices?什么是nuget版本?清理解决方案(如果需要,手动删除 obj 目录内容)并尝试重建
标签: azure facebook-graph-api xamarin.forms xamarin.android onedrive