C# 在Xamarin应用程序中实例化CloudStorageAccount会导致未处理的异常

C# 在Xamarin应用程序中实例化CloudStorageAccount会导致未处理的异常,c#,azure,xamarin,C#,Azure,Xamarin,在下面的文章中,我创建了一个空白的Xamarin表单应用程序,将WindowsStorage.Azure包添加到PCL和Android应用程序中(我已经删除了iOS和UWP,因为它只是一个测试应用程序) 或新的CloudStorageAccount: var storageAccount = CloudStorageAccount.Parse(storageConnectionString); 我也一样。 我通读了这本书,看不出有什么原因 有没有人遇到过这个问题,可以帮助我们找出哪里出了问题

在下面的文章中,我创建了一个空白的Xamarin表单应用程序,将
WindowsStorage.Azure
包添加到PCL和Android应用程序中(我已经删除了iOS和UWP,因为它只是一个测试应用程序)

或新的CloudStorageAccount:

var storageAccount = CloudStorageAccount.Parse(storageConnectionString);
我也一样。 我通读了这本书,看不出有什么原因

有没有人遇到过这个问题,可以帮助我们找出哪里出了问题

编辑

我可以从debu窗口看到它抛出了一个NotImplementedException:

05-09 14:45:16.452 D/Mono    ( 3772): DllImport attempting to load: '/system/lib/liblog.so'.
05-09 14:45:16.476 D/Mono    ( 3772): DllImport loaded library '/system/lib/liblog.so'.
05-09 14:45:16.476 D/Mono    ( 3772): DllImport searching in: '/system/lib/liblog.so' ('/system/lib/liblog.so').
05-09 14:45:16.476 D/Mono    ( 3772): Searching for '__android_log_print'.
05-09 14:45:16.476 D/Mono    ( 3772): Probing '__android_log_print'.
05-09 14:45:16.476 D/Mono    ( 3772): Found as '__android_log_print'.
05-09 14:45:16.480 I/MonoDroid( 3772): UNHANDLED EXCEPTION:
05-09 14:45:16.485 I/MonoDroid( 3772): System.AggregateException: One or more errors occurred. ---> System.NotImplementedException: The method or operation is not implemented.
05-09 14:45:16.485 I/MonoDroid( 3772):   at Microsoft.WindowsAzure.Storage.Auth.StorageCredentials..ctor (System.String accountName, System.String keyValue, System.String keyName) [0x00006] in C:\Program Files (x86)\Jenkins\workspace\release_dotnet_master\Lib\AspNet\Microsoft.WindowsAzure.Storage.Facade\FacadeLib\Microsoft.WindowsAzure.Storage.Auth.StorageCredentials.cs:77 
05-09 14:45:16.485 I/MonoDroid( 3772):   at Microsoft.WindowsAzure.Storage.Auth.StorageCredentials..ctor (System.String accountName, System.String keyValue) [0x00000] in C:\Program Files (x86)\Jenkins\workspace\release_dotnet_master\Lib\AspNet\Microsoft.WindowsAzure.Storage.Facade\FacadeLib\Microsoft.WindowsAzure.Storage.Auth.StorageCredentials.cs:71 
05-09 14:45:16.485 I/MonoDroid( 3772):   at TestApp.Droid.MainPage+<StartPolling>d__3.MoveNext () [0x0001d] in D:\XamarinAzureStorageTest\TestApp.Droid\TestApp.Droid\MainPage.xaml.cs:27 
05-09 14:45:16.485 I/MonoDroid( 3772):    --- End of inner exception stack trace ---
05-09 14:45:16.485 I/MonoDroid( 3772):   at System.Threading.Tasks.Task.ThrowIfExceptional (System.Boolean includeTaskCanceledExceptions) [0x00014] in /Users/builder/data/lanes/4468/f913a78a/source/mono/mcs/class/referencesource/mscorlib/system/threading/Tasks/Task.cs:2157 
05-09 14:45:16.485 I/MonoDroid( 3772):   at System.Threading.Tasks.Task.Wait (System.Int32 millisecondsTimeout, System.Threading.CancellationToken cancellationToken) [0x00052] in /Users/builder/data/lanes/4468/f913a78a/source/mono/mcs/class/referencesource/mscorlib/system/threading/Tasks/Task.cs:3189 
05-09 14:45:16.485 I/MonoDroid( 3772):   at System.Threading.Tasks.Task.Wait () [0x00000] in /Users/builder/data/lanes/4468/f913a78a/source/mono/mcs/class/referencesource/mscorlib/system/threading/Tasks/Task.cs:3054 
05-09 14:45:16.485 I/MonoDroid( 3772):   at TestApp.Droid.MainPage.StartPolling_Clicked (System.Object sender, System.EventArgs e) [0x0004e] in D:\XamarinAzureStorageTest\TestApp.Droid\TestApp.Droid\MainPage.xaml.cs:55 
05-09 14:45:16.485 I/MonoDroid( 3772):   at Xamarin.Forms.Button.Xamarin.Forms.IButtonController.SendClicked () [0x00020] in C:\BuildAgent\work\ca3766cfc22354a1\Xamarin.Forms.Core\Button.cs:125 
05-09 14:45:16.485 I/MonoDroid( 3772):   at Xamarin.Forms.Platform.Android.AppCompat.ButtonRenderer+ButtonClickListener.OnClick (Android.Views.View v) [0x0000b] in C:\BuildAgent\work\ca3766cfc22354a1\Xamarin.Forms.Platform.Android\AppCompat\ButtonRenderer.cs:298 
05-09 14:45:16.485 I/MonoDroid( 3772):   at Android.Views.View+IOnClickListenerInvoker.n_OnClick_Landroid_view_View_ (System.IntPtr jnienv, System.IntPtr native__this, System.IntPtr native_v) [0x00011] in /Users/builder/data/lanes/4468/b16fb820/source/monodroid/src/Mono.Android/platforms/android-23/src/generated/Android.Views.View.cs:1806 
05-09 14:45:16.485 I/MonoDroid( 3772):   at (wrapper dynamic-method) System.Object:0f149978-de2e-4679-a635-699ceeddec42 (intptr,intptr,intptr)
05-09 14:45:16.485 I/MonoDroid( 3772): ---> (Inner Exception #0) System.NotImplementedException: The method or operation is not implemented.
05-09 14:45:16.485 I/MonoDroid( 3772):   at Microsoft.WindowsAzure.Storage.Auth.StorageCredentials..ctor (System.String accountName, System.String keyValue, System.String keyName) [0x00006] in C:\Program Files (x86)\Jenkins\workspace\release_dotnet_master\Lib\AspNet\Microsoft.WindowsAzure.Storage.Facade\FacadeLib\Microsoft.WindowsAzure.Storage.Auth.StorageCredentials.cs:77 
05-09 14:45:16.485 I/MonoDroid( 3772):   at Microsoft.WindowsAzure.Storage.Auth.StorageCredentials..ctor (System.String accountName, System.String keyValue) [0x00000] in C:\Program Files (x86)\Jenkins\workspace\release_dotnet_master\Lib\AspNet\Microsoft.WindowsAzure.Storage.Facade\FacadeLib\Microsoft.WindowsAzure.Storage.Auth.StorageCredentials.cs:71 
05-09 14:45:16.485 I/MonoDroid( 3772):   at TestApp.Droid.MainPage+<StartPolling>d__3.MoveNext () [0x0001d] in D:\XamarinAzureStorageTest\TestApp.Droid\TestApp.Droid\MainPage.xaml.cs:27 <---
05-09 14:45:16.500 W/art     ( 3772): JNI RegisterNativeMethods: attempt to register 0 native methods for android.runtime.JavaProxyThrowable
05-09 14:45:16.604 D/Mono    ( 3772): DllImport searching in: '__Internal' ('(null)').
05-09 14:45:16.604 D/Mono    ( 3772): Searching for 'java_interop_jnienv_throw'.
05-09 14:45:16.604 D/Mono    ( 3772): Probing 'java_interop_jnienv_throw'.
05-09 14:45:16.604 D/Mono    ( 3772): Found as 'java_interop_jnienv_throw'.
Thread finished: <Thread Pool> #4
The thread 'Unknown' (0x4) has exited with code 0 (0x0).
Thread finished: <Thread Pool> #5
05-09 14:45:57.900 D/Mono    ( 3772): [0x9b2de930] worker finishingThe thread 'Unknown' (0x5) has exited with code 0 (0x0).
05-09 14:45:16.452 D/Mono(3772):DllImport正在尝试加载:'/system/lib/liblog.so'。
05-09 14:45:16.476 D/Mono(3772):DllImport加载的库'/system/lib/liblog.so'。
05-09 14:45:16.476 D/Mono(3772):DllImport在“/system/lib/liblog.so”(“/system/lib/liblog.so”)中搜索。
05-09 14:45:16.476 D/Mono(3772):搜索“\uuuuAndroid\uLog\uPrint”。
05-09 14:45:16.476 D/Mono(3772):探测“android日志打印”。
05-09 14:45:16.476 D/Mono(3772):发现为“\uuuuAndroid\uLog\uPrint”。
05-09 14:45:16.480 I/MonoDroid(3772):未处理的异常:
05-09 14:45:16.485 I/MonoDroid(3772):System.AggregateException:发生一个或多个错误。-->System.NotImplementedException:方法或操作未实现。
05-09 14:45:16.485 I/MonoDroid(3772):位于Microsoft.WindowsAzure.Storage.Auth.StorageCredentials..ctor(C:\Program Files(x86)中的System.String accountName、System.String keyValue、System.String keyName)[0x00006]\Jenkins\workspace\release\u dotnet\u master\Lib\AspNet\Microsoft.WindowsAzure.Storage.FacadeLib\Microsoft.WindowsAzure.Storage.Auth.StorageCredentials.cs:77
05-09 14:45:16.485 I/MonoDroid(3772):位于Microsoft.WindowsAzure.Storage.Auth.StorageCredentials..ctor(C:\Program Files(x86)中的System.String accountName,System.String keyValue)[0x00000]\Jenkins\workspace\release\u dotnet\u master\Lib\AspNet\Microsoft.WindowsAzure.Storage.FacadeLib\Microsoft.WindowsAzure.Storage.Auth.StorageCredentials.cs:71
05-09 14:45:16.485 I/MonoDroid(3772):在TestApp.Droid.MainPage+d_uu3.MoveNext()[0x0001d]中的d:\XamarinAzureStorageTest\TestApp.Droid\TestApp.Droid\MainPage.xaml.cs:27
05-09 14:45:16.485 I/MonoDroid(3772):--内部异常堆栈跟踪结束---
05-09 14:45:16.485 I/MonoDroid(3772):在/Users/builder/data/lanes/4468/f913a78a/source/mono/mcs/class/referencesource/mscorlib/System/Threading/Tasks/Task.cs:2157中的System.Threading.Task.throwifeexception(System.Boolean includeTaskCanceledExceptions)[0x00014]
05-09 14:45:16.485 I/MonoDroid(3772):在/Users/builder/data/lanes/4468/f913a78a/source/mono/mcs/class/referencesource/mscorlib/System/Threading/Tasks/Task/Task.cs:3189中
05-09 14:45:16.485 I/MonoDroid(3772):位于/Users/builder/data/lanes/4468/f913a78a/source/mono/mcs/class/referencesource/mscorlib/System/Threading/Tasks/Task.cs:3054中的System.Threading.Tasks.Task.Wait()[0x00000]
05-09 14:45:16.485 I/MonoDroid(3772):在TestApp.Droid.MainPage.StartPolling_单击(System.Object sender,System.EventArgs e)[0x0004e]位于D:\XamarinAzureStorageTest\TestApp.Droid\TestApp.Droid\MainPage.xaml.cs:55
05-09 14:45:16.485 I/MonoDroid(3772):在C:\BuildAgent\work\ca3766cfc22354a1\Xamarin.Forms.Button.Xamarin.Forms.IButtonController.SendClicked()[0x00020]中
05-09 14:45:16.485 I/MonoDroid(3772):在Xamarin.Forms.Platform.Android.AppCompat.ButtonRenderer+ButtonClickListener.OnClick(Android.Views.View v)[0x0000b]中的C:\BuildAgent\work\ca3766cfc22354a1\Xamarin.Forms.platforms.Android\AppCompat\ButtonRenderer.cs:298
05-09 14:45:16.485 I/MonoDroid(3772):在Android.Views.View+IOnClickListenerInvoker.n_OnClick_Landroid_View_(System.IntPtr jnienv,System.IntPtr native___这,System.IntPtr native_v)[0x00011]在/Users/builder/data/lanes/4468/b16fb820 source/MonoDroid/src/Mono.Android/platforms/Android/platforms/Android/Android/Android/Android/23/src/generated/Android/Android/platforms.Views.View
05-09 14:45:16.485 I/MonoDroid(3772):at(包装器动态方法)系统。对象:0f149978-de2e-4679-a635-699ceeddec42(intptr、intptr、intptr)
05-09 14:45:16.485 I/MonoDroid(3772):-->(内部异常#0)系统。未实现异常:方法或操作未实现。
05-09 14:45:16.485 I/MonoDroid(3772):位于Microsoft.WindowsAzure.Storage.Auth.StorageCredentials..ctor(C:\Program Files(x86)中的System.String accountName、System.String keyValue、System.String keyName)[0x00006]\Jenkins\workspace\release\u dotnet\u master\Lib\AspNet\Microsoft.WindowsAzure.Storage.FacadeLib\Microsoft.WindowsAzure.Storage.Auth.StorageCredentials.cs:77
05-09 14:45:16.485 I/MonoDroid(3772):位于Microsoft.WindowsAzure.Storage.Auth.StorageCredentials..ctor(C:\Program Files(x86)中的System.String accountName,System.String keyValue)[0x00000]\Jenkins\workspace\release\u dotnet\u master\Lib\AspNet\Microsoft.WindowsAzure.Storage.FacadeLib\Microsoft.WindowsAzure.Storage.Auth.StorageCredentials.cs:71
05-09 14:45:16.485 I/MonoDroid(3772):在TestApp.Droid.MainPage+d_uu3.MoveNext()[0x0001d]中的d:\XamarinAzureStorageTest\TestApp.Droid\TestApp.Droid\MainPage.xaml.cs:27
…将最新稳定版本安装到解决方案中的所有项目

回复:第3步


Azure Storage使用本机功能,因此您不仅需要在PCL项目中安装该软件包,还需要在每个本机应用程序项目中安装该软件包。

请查看调试/输出窗口以了解有关错误的详细信息。有时,您确实需要点击“继续”按钮才能显示此内容。但是随便猜测一下(没有任何进一步的信息),除了pcl之外,您是否已将azure存储包添加到您正在启动的本机中。
var storageAccount = CloudStorageAccount.Parse(storageConnectionString);
05-09 14:45:16.452 D/Mono    ( 3772): DllImport attempting to load: '/system/lib/liblog.so'.
05-09 14:45:16.476 D/Mono    ( 3772): DllImport loaded library '/system/lib/liblog.so'.
05-09 14:45:16.476 D/Mono    ( 3772): DllImport searching in: '/system/lib/liblog.so' ('/system/lib/liblog.so').
05-09 14:45:16.476 D/Mono    ( 3772): Searching for '__android_log_print'.
05-09 14:45:16.476 D/Mono    ( 3772): Probing '__android_log_print'.
05-09 14:45:16.476 D/Mono    ( 3772): Found as '__android_log_print'.
05-09 14:45:16.480 I/MonoDroid( 3772): UNHANDLED EXCEPTION:
05-09 14:45:16.485 I/MonoDroid( 3772): System.AggregateException: One or more errors occurred. ---> System.NotImplementedException: The method or operation is not implemented.
05-09 14:45:16.485 I/MonoDroid( 3772):   at Microsoft.WindowsAzure.Storage.Auth.StorageCredentials..ctor (System.String accountName, System.String keyValue, System.String keyName) [0x00006] in C:\Program Files (x86)\Jenkins\workspace\release_dotnet_master\Lib\AspNet\Microsoft.WindowsAzure.Storage.Facade\FacadeLib\Microsoft.WindowsAzure.Storage.Auth.StorageCredentials.cs:77 
05-09 14:45:16.485 I/MonoDroid( 3772):   at Microsoft.WindowsAzure.Storage.Auth.StorageCredentials..ctor (System.String accountName, System.String keyValue) [0x00000] in C:\Program Files (x86)\Jenkins\workspace\release_dotnet_master\Lib\AspNet\Microsoft.WindowsAzure.Storage.Facade\FacadeLib\Microsoft.WindowsAzure.Storage.Auth.StorageCredentials.cs:71 
05-09 14:45:16.485 I/MonoDroid( 3772):   at TestApp.Droid.MainPage+<StartPolling>d__3.MoveNext () [0x0001d] in D:\XamarinAzureStorageTest\TestApp.Droid\TestApp.Droid\MainPage.xaml.cs:27 
05-09 14:45:16.485 I/MonoDroid( 3772):    --- End of inner exception stack trace ---
05-09 14:45:16.485 I/MonoDroid( 3772):   at System.Threading.Tasks.Task.ThrowIfExceptional (System.Boolean includeTaskCanceledExceptions) [0x00014] in /Users/builder/data/lanes/4468/f913a78a/source/mono/mcs/class/referencesource/mscorlib/system/threading/Tasks/Task.cs:2157 
05-09 14:45:16.485 I/MonoDroid( 3772):   at System.Threading.Tasks.Task.Wait (System.Int32 millisecondsTimeout, System.Threading.CancellationToken cancellationToken) [0x00052] in /Users/builder/data/lanes/4468/f913a78a/source/mono/mcs/class/referencesource/mscorlib/system/threading/Tasks/Task.cs:3189 
05-09 14:45:16.485 I/MonoDroid( 3772):   at System.Threading.Tasks.Task.Wait () [0x00000] in /Users/builder/data/lanes/4468/f913a78a/source/mono/mcs/class/referencesource/mscorlib/system/threading/Tasks/Task.cs:3054 
05-09 14:45:16.485 I/MonoDroid( 3772):   at TestApp.Droid.MainPage.StartPolling_Clicked (System.Object sender, System.EventArgs e) [0x0004e] in D:\XamarinAzureStorageTest\TestApp.Droid\TestApp.Droid\MainPage.xaml.cs:55 
05-09 14:45:16.485 I/MonoDroid( 3772):   at Xamarin.Forms.Button.Xamarin.Forms.IButtonController.SendClicked () [0x00020] in C:\BuildAgent\work\ca3766cfc22354a1\Xamarin.Forms.Core\Button.cs:125 
05-09 14:45:16.485 I/MonoDroid( 3772):   at Xamarin.Forms.Platform.Android.AppCompat.ButtonRenderer+ButtonClickListener.OnClick (Android.Views.View v) [0x0000b] in C:\BuildAgent\work\ca3766cfc22354a1\Xamarin.Forms.Platform.Android\AppCompat\ButtonRenderer.cs:298 
05-09 14:45:16.485 I/MonoDroid( 3772):   at Android.Views.View+IOnClickListenerInvoker.n_OnClick_Landroid_view_View_ (System.IntPtr jnienv, System.IntPtr native__this, System.IntPtr native_v) [0x00011] in /Users/builder/data/lanes/4468/b16fb820/source/monodroid/src/Mono.Android/platforms/android-23/src/generated/Android.Views.View.cs:1806 
05-09 14:45:16.485 I/MonoDroid( 3772):   at (wrapper dynamic-method) System.Object:0f149978-de2e-4679-a635-699ceeddec42 (intptr,intptr,intptr)
05-09 14:45:16.485 I/MonoDroid( 3772): ---> (Inner Exception #0) System.NotImplementedException: The method or operation is not implemented.
05-09 14:45:16.485 I/MonoDroid( 3772):   at Microsoft.WindowsAzure.Storage.Auth.StorageCredentials..ctor (System.String accountName, System.String keyValue, System.String keyName) [0x00006] in C:\Program Files (x86)\Jenkins\workspace\release_dotnet_master\Lib\AspNet\Microsoft.WindowsAzure.Storage.Facade\FacadeLib\Microsoft.WindowsAzure.Storage.Auth.StorageCredentials.cs:77 
05-09 14:45:16.485 I/MonoDroid( 3772):   at Microsoft.WindowsAzure.Storage.Auth.StorageCredentials..ctor (System.String accountName, System.String keyValue) [0x00000] in C:\Program Files (x86)\Jenkins\workspace\release_dotnet_master\Lib\AspNet\Microsoft.WindowsAzure.Storage.Facade\FacadeLib\Microsoft.WindowsAzure.Storage.Auth.StorageCredentials.cs:71 
05-09 14:45:16.485 I/MonoDroid( 3772):   at TestApp.Droid.MainPage+<StartPolling>d__3.MoveNext () [0x0001d] in D:\XamarinAzureStorageTest\TestApp.Droid\TestApp.Droid\MainPage.xaml.cs:27 <---
05-09 14:45:16.500 W/art     ( 3772): JNI RegisterNativeMethods: attempt to register 0 native methods for android.runtime.JavaProxyThrowable
05-09 14:45:16.604 D/Mono    ( 3772): DllImport searching in: '__Internal' ('(null)').
05-09 14:45:16.604 D/Mono    ( 3772): Searching for 'java_interop_jnienv_throw'.
05-09 14:45:16.604 D/Mono    ( 3772): Probing 'java_interop_jnienv_throw'.
05-09 14:45:16.604 D/Mono    ( 3772): Found as 'java_interop_jnienv_throw'.
Thread finished: <Thread Pool> #4
The thread 'Unknown' (0x4) has exited with code 0 (0x0).
Thread finished: <Thread Pool> #5
05-09 14:45:57.900 D/Mono    ( 3772): [0x9b2de930] worker finishingThe thread 'Unknown' (0x5) has exited with code 0 (0x0).