首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Windows 8.1 Silverlight应用程序OneDrive简单上传文件导致类未注册异常

Windows 8.1 Silverlight应用程序OneDrive简单上传文件导致类未注册异常
EN

Stack Overflow用户
提问于 2014-11-07 03:54:29
回答 2查看 601关注 0票数 1

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

使用自己作为豚鼠,我能够成功地创建以我的应用程序命名的文件夹,但是我遇到了一个异常,我试图上传一个文件。

下面是代码:

代码语言:javascript
运行
复制
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();
                        }

异常+堆栈跟踪是:

在Windows.Networking.BackgroundTransfer.BackgroundUploader.CreateUpload(Uri uri的$exception {System.Exception:未注册的类(来自HRESULT的异常: 0x80040154 (REGDB_E_CLASSNOTREG))在Microsoft.Live.Operations.CreateBackgroundUploadOperation.d__0.MoveNext()的$exception uri,IStorageFile sourceFile-在System.Threading.QueueUserWorkItemCallback.WaitCallback_Context(Object状态抛出异常的前一个位置的堆栈跟踪-在System.Threading.QueueUserWorkItemCallback.WaitCallback_Context(Object状态下抛出异常System.Threading.ExecutionContext.Run(ExecutionContext executionContext的对象状态,布尔preserveSyncCtx),System.Threading.ThreadPoolWorkQueue.Dispatch() at System.Threading._ThreadPoolWaitCallback.PerformWaitCallback()} System.Exception的ContextCallback回调,对象状态,布尔preserveSyncCtx)

其他显著信息:

  • WindowsPhone 8.1设备(操作系统: 8.10.14192.280 (开发预览))
  • App是WP8.1银光
  • Live版本为5.6
  • 正在上载的文件是一个png文件。
  • 我已经验证了这个文件夹确实是在我的onedrive上创建的,并且这个异常也发生在模拟器上。

把我的头撞在墙上。任何帮助都将不胜感激。

谢谢,克里斯

EN

回答 2

Stack Overflow用户

发布于 2014-11-07 05:30:56

我设法走得更远了一点。根据http://msdn.microsoft.com/en-us/library/dn631823.aspx的说法,向Live添加引用有两种方法。第一个问题涉及从Windows 8.1 >扩展(参考资料)中选择Live。第二个问题涉及从程序集>扩展中选择Microsoft.Live和Microsoft.Live.Controls。

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

第二种选择是可行的。我可以上传文件,没有问题。唯一的问题是我不能使用这种方法的单点登录。

票数 0
EN

Stack Overflow用户

发布于 2014-11-10 21:14:40

在您的Package.appxmanifest文件中,检查"Internet (Client & Server)“功能。

http://msdn.microsoft.com/en-us/library/windows/apps/hh464936.aspx#internetandpublicnetworks

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26793775

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档