我正在尝试实现一个简单的应用程序,将照片上传到用户的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();
}异常+堆栈跟踪是:
在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)
其他显著信息:
把我的头撞在墙上。任何帮助都将不胜感激。
谢谢,克里斯
发布于 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。
第一个不起作用。正如我在最初的描述中提到的,我可以创建一个目录,但是我不能将文件上传到其中。
第二种选择是可行的。我可以上传文件,没有问题。唯一的问题是我不能使用这种方法的单点登录。
发布于 2014-11-10 21:14:40
在您的Package.appxmanifest文件中,检查"Internet (Client & Server)“功能。
http://msdn.microsoft.com/en-us/library/windows/apps/hh464936.aspx#internetandpublicnetworks
https://stackoverflow.com/questions/26793775
复制相似问题