Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用Azure移动服务(与Xamarin.Auth一起使用?)?_Xamarin_Azure Mobile Services_Portable Class Library - Fatal编程技术网

如何使用Azure移动服务(与Xamarin.Auth一起使用?)?

如何使用Azure移动服务(与Xamarin.Auth一起使用?)?,xamarin,azure-mobile-services,portable-class-library,Xamarin,Azure Mobile Services,Portable Class Library,因此,我创建了一个表单解决方案,在我的PCL项目中添加了NuGet Microsoft.WindowsAzure.Mobile 当我运行我的Android项目(当然它引用了PCL项目)时,我得到: [MonoDroid]未处理的异常: System.Reflection.TargetInvocationException:异常已被删除 由调用的目标抛出。 --->System.InvalidOperationException: 找不到当前平台的Microsoft Azure移动服务程序集。 确

因此,我创建了一个表单解决方案,在我的PCL项目中添加了NuGet Microsoft.WindowsAzure.Mobile

当我运行我的Android项目(当然它引用了PCL项目)时,我得到:

[MonoDroid]未处理的异常: System.Reflection.TargetInvocationException:异常已被删除 由调用的目标抛出。 --->System.InvalidOperationException: 找不到当前平台的Microsoft Azure移动服务程序集。 确保当前项目同时引用Microsoft.WindowsAzure.Mobile和以下特定于平台的 程序集:Microsoft.WindowsAzure.Mobile.Ext

好的,我将Microsoft.WindowsAzure.Ext(通过手动编辑引用->浏览到..packages..Microsoft.WindowsAzure.Mobile.Ext程序集并将其添加)添加到我的Android项目中,但随后我得到:

/Library/Frameworks/Mono.framework/External/xbuild/Xamarin/Android/Xamarin.Android.Common.targets: 错误:找到重复的托管类型!托管类型之间的映射 Java类型必须是唯一的。第一类: 'Xamarin.Auth.Android帐户store/SecretAccount,Xamarin.Auth.Android, 版本=1.2.2.0,区域性=中性,PublicKeyToken=空';第二类: 'Xamarin.Auth.AndroidAccountStore/SecretAccount, Microsoft.WindowsAzure.Mobile.Ext,版本=1.2.0.0,区域性=中性, PublicKeyToken=31bf3856ad364e35'(MyApp.Android)

/Library/Frameworks/Mono.framework/External/xbuild/Xamarin/Android/Xamarin.Android.Common.targets: 错误:找到重复的托管类型!托管类型之间的映射 Java类型必须是唯一的。第一类: 'Xamarin.Auth.FormAuthenticatorActivity,Xamarin.Auth.Android, 版本=1.2.2.0,区域性=中性,PublicKeyToken=空';第二类: 'Xamarin.Auth.FormAuthenticatorActivity, Microsoft.WindowsAzure.Mobile.Ext,版本=1.2.0.0,区域性=中性, PublicKeyToken=31bf3856ad364e35'(MyApp.Android)

/Library/Frameworks/Mono.framework/External/xbuild/Xamarin/Android/Xamarin.Android.Common.targets: 错误:找到重复的托管类型!托管类型之间的映射 Java类型必须是唯一的。第一类: 'Xamarin.Auth.formAuthenticationActivity/State,Xamarin.Auth.Android, 版本=1.2.2.0,区域性=中性,PublicKeyToken=空';第二类: 'Xamarin.Auth.FormAuthenticatorActivity/State, Microsoft.WindowsAzure.Mobile.Ext,版本=1.2.0.0,区域性=中性, PublicKeyToken=31bf3856ad364e35'(MyApp.Android)

/Library/Frameworks/Mono.framework/External/xbuild/Xamarin/Android/Xamarin.Android.Common.targets: 错误:找到重复的托管类型!托管类型之间的映射 Java类型必须是唯一的。第一类: 'Xamarin.Auth.WebAuthenticatorActivity,Xamarin.Auth.Android, 版本=1.2.2.0,区域性=中性,PublicKeyToken=空';第二类: 'Xamarin.Auth.WebAuthenticatorActivity, Microsoft.WindowsAzure.Mobile.Ext,版本=1.2.0.0,区域性=中性, PublicKeyToken=31bf3856ad364e35'(MyApp.Android)

/Library/Frameworks/Mono.framework/External/xbuild/Xamarin/Android/Xamarin.Android.Common.targets: 错误:找到重复的托管类型!托管类型之间的映射 Java类型必须是唯一的。第一类: 'Xamarin.Auth.WebAuthenticatorActivity/State,Xamarin.Auth.Android, 版本=1.2.2.0,区域性=中性,PublicKeyToken=空';第二类: 'Xamarin.Auth.WebAuthenticatorActivity/State, Microsoft.WindowsAzure.Mobile.Ext,版本=1.2.0.0,区域性=中性, PublicKeyToken=31bf3856ad364e35'(MyApp.Android)

/Library/Frameworks/Mono.framework/External/xbuild/Xamarin/Android/Xamarin.Android.Common.targets: 错误:找到重复的托管类型!托管类型之间的映射 Java类型必须是唯一的。第一类: 'Xamarin.Auth.WebAuthenticatorActivity/Client,Xamarin.Auth.Android, 版本=1.2.2.0,区域性=中性,PublicKeyToken=空';第二类: 'Xamarin.Auth.WebAuthenticatorActivity/Client, Microsoft.WindowsAzure.Mobile.Ext,版本=1.2.0.0,区域性=中性, PublicKeyToken=31bf3856ad364e35'(MyApp.Android)

似乎和Xamarin有些冲突。是吗


我该如何解决这个问题?

我必须设法找到一个解决办法。创建一个可移植类库,在其中添加nugget版本的移动服务。通过这种方式,您可以对来自pcl的现有移动服务进行包装。这显然是有效的,在bug修复之前,这是最好的解决方案。如果您有任何问题,请随时提问。

此错误从移动服务SDK的1.2.5版开始解决。

我不确定Xamarin.Auth,但要使用Azure移动服务,您应该将AMS从NuGet添加到PCL,并从组件商店添加到Android projectYes,@xakz,这正是我所做的。我能够重现这个错误。我认为这是一个主要问题,我希望在不久的将来将Xamarin.Auth用于Azure。我想你应该发布错误报告嗨,我是移动服务团队的成员。Xamarin的移动服务SDK在内部使用Xamarin Auth,问题似乎是Xamarin.Android不允许来自两个不同程序集的具有相同名称空间的两个类型。我将调查SDK中可以做些什么来消除潜在的冲突。感谢@PaulBatum,同时我确实创建了一个与Xamarin的bug:我尝试了这个,但我仍然得到了相同的异常(在iOS上)