Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/287.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/silverlight/4.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
C# Windows Phone 8.1 Silverlight应用程序OneDrive简单上载文件导致类未注册异常_C#_Silverlight_Windows Phone 8.1_Onedrive - Fatal编程技术网

C# Windows Phone 8.1 Silverlight应用程序OneDrive简单上载文件导致类未注册异常

C# Windows Phone 8.1 Silverlight应用程序OneDrive简单上载文件导致类未注册异常,c#,silverlight,windows-phone-8.1,onedrive,C#,Silverlight,Windows Phone 8.1,Onedrive,我正在尝试实现一个简单的应用程序,将照片上传到用户的OneDrive上 以我自己为实验对象,我能够成功地创建以我的应用程序命名的文件夹,但我在尝试上载文件时遇到了一个异常 代码如下: var connectClient = new LiveConnectClient(result.Session); string skyDriveFolder = await LiveExtensions.CreateDirectoryAsync(connectC

我正在尝试实现一个简单的应用程序,将照片上传到用户的OneDrive上

以我自己为实验对象,我能够成功地创建以我的应用程序命名的文件夹,但我在尝试上载文件时遇到了一个异常

代码如下:

var connectClient = new LiveConnectClient(result.Session);

                        string skyDriveFolder = await LiveExtensions.CreateDirectoryAsync(connectClient, "LumpyCircles", "me/skydrive");

                        StorageFile file = await local.GetFileAsync("lumpyCircle.png");
                        if (file != null)
                        {
                            //LiveOperationResult uploadResult = await connectClient.BackgroundUploadAsync(skyDriveFolder, "LumpyCircle.png", file, OverwriteOption.Rename);
                            var task = await connectClient.CreateBackgroundUploadAsync("me/skydrive", "lumpyCircle.png", file, OverwriteOption.Rename);
                            await task.StartAsync();
                        }
异常+堆栈跟踪是:

$exception{System.exception:类未注册来自HRESULT的异常:0x80040154 REGDB_E_CLASSNOTREG 在Windows.Networking.BackgroundTransfer.BackgroundUploader.CreateUploadUri uri中,输入IStorageFile sourceFile 在Microsoft.Live.Operations.CreateBackgroundUploadOperation.d_u0.MoveNext --来自引发异常的上一个位置的堆栈结束跟踪-- 在System.Runtime.CompilerServices.AsyncMethodBuilderCore.b__4对象状态下 在System.Threading.QueueUserWorkItemCallback.WaitCallback_ContextObject状态下 位于System.Threading.ExecutionContext.RunInternalExecutionContext ExecutionContext,ContextCallback回调,对象状态,布尔值preserveSyncCtx 位于System.Threading.ExecutionContext.RunExecutionContext ExecutionContext,ContextCallback回调,对象状态,布尔值preserveSyncCtx 位于System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem 位于System.Threading.ThreadPoolWorkQueue.Dispatch 在System.Threading.\u ThreadPoolWaitCallback.PerformWaitCallback}System.Exception

其他值得注意的信息:

WindowsPhone 8.1设备操作系统:8.10.14192.280开发人员预览 应用程序为WP 8.1 Silverlight Live SDK版本为5.6 正在上载的文件是png文件 我已经验证了文件夹确实是在我的onedrive上创建的,并且这个异常也发生在emulator上。 把我的头撞在墙上。任何帮助都将不胜感激

谢谢,
克里斯

我设法走得更远了一点。根据,有两种方法可以添加对Live SDK的引用。第一个是从参考下的Windows Phone 8.1>Extensions中选择Live SDK。第二个涉及从程序集>扩展中选择Microsoft.Live和Microsoft.Live.Controls

第一个不起作用。正如我在原始描述中提到的,我可以创建一个目录,但我不能将文件上载到其中


第二种选择确实有效。我能够上传文件没有问题。唯一的问题是我无法使用此方法使用单点登录。在您的Package.appxmanifest文件中,请检查Internet客户端和服务器功能