スカイドライブへのバックアップを許可するようにアプリで作業していると、[サインイン]ボタンが正しく機能するようになりました。さらに改良した後、LiveAuthClient.InitializeAsyncを使い始めましたが、どこに置いても(UIスレッドかどうかに関係なく)、どのスコープを渡しても、常にエラーが発生します。
"An unhandled exception of type 'System.Runtime.Serialization.InvalidDataContractException' occurred in System.Windows.ni.dll"
次のコールスタックを使用します。
System.Windows.ni.dll!MS.Internal.JoltHelper.OnUnhandledException(object sender, System.UnhandledExceptionEventArgs args)
[Native to Managed Transition]
[Managed to Native Transition]
System.Windows.ni.dll!System.Net.Browser.ClientHttpWebRequest.InvokeGetResponseCallback.AnonymousMethod__1b(object state2)
mscorlib.ni.dll!System.Threading.QueueUserWorkItemCallback.WaitCallback_Context(object state)
mscorlib.ni.dll!System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, object state, bool preserveSyncCtx)
mscorlib.ni.dll!System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, object state, bool preserveSyncCtx)
mscorlib.ni.dll!System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem()
mscorlib.ni.dll!System.Threading.ThreadPoolWorkQueue.Dispatch()
mscorlib.ni.dll!System.Threading._ThreadPoolWaitCallback.PerformWaitCallback()
[Native to Managed Transition]
コード:
Microsoft.Live.LiveAuthClient auth = new Microsoft.Live.LiveAuthClient("ClientId");
auth.InitializeCompleted += auth_InitializeCompleted;
auth.InitializeAsync(new string[] { "wl.signin", "wl.offline_access", "wl.skydrive_update" });
LiveSDKのバージョン5を搭載したWindowsPhone用のVS2012ExpressでWindowsPhone7.1を使用する。どんな助け/洞察も大歓迎です!