Ссылка на сборку Live SDK отсутствует при разработке универсального приложения для Windows 10

Я занимаюсь разработкой приложения с использованием Windows 10 SDK и хочу использовать Live SDK. Я использую VS 2015, и я установил Live SDK через nuget.

Следующий код был взят из примера кода MSDN:

LiveConnectClient liveClient;
    private async Task<int> UploadFileToOneDrive()
    {
        try
        {
            //  create OneDrive auth client
            var authClient = new LiveAuthClient();

            //  ask for both read and write access to the OneDrive
            LiveLoginResult result = await authClient.LoginAsync(new string[] { "wl.skydrive", "wl.skydrive_update" });

            //  if login successful 
            if (result.Status == LiveConnectSessionStatus.Connected)
            {
                //  create a OneDrive client
                liveClient = new LiveConnectClient(result.Session);

                //  create a local file
                StorageFile file = await ApplicationData.Current.LocalFolder.CreateFileAsync("filename", CreationCollisionOption.ReplaceExisting);

                //  copy some txt to local file
                MemoryStream ms = new MemoryStream();
                DataContractSerializer serializer = new DataContractSerializer(typeof(string));
                serializer.WriteObject(ms, "Hello OneDrive World!!");

                using (Stream fileStream = await file.OpenStreamForWriteAsync())
                {
                    ms.Seek(0, SeekOrigin.Begin);
                    await ms.CopyToAsync(fileStream);
                    await fileStream.FlushAsync();
                }

                //  create a folder
                string folderID = await GetFolderID("folderone");

                if (string.IsNullOrEmpty(folderID))
                {
                    //  return error
                    return 0;
                }

                //  upload local file to OneDrive
                await liveClient.BackgroundUploadAsync(folderID, file.Name, file, OverwriteOption.Overwrite);

                return 1;
            }
        }
        catch
        {
        }
        //  return error
        return 0;
    }

    public async Task<int> DownloadFileFromOneDrive()
    {
        try
        {
            string fileID = string.Empty;

            //  get folder ID
            string folderID = await GetFolderID("folderone");

            if (string.IsNullOrEmpty(folderID))
            {
                return 0; // doesnt exists
            }

            //  get list of files in this folder
            LiveOperationResult loResults = await liveClient.GetAsync(folderID + "/files");
            List<object> folder = loResults.Result["data"] as List<object>;

            //  search for our file 
            foreach (object fileDetails in folder)
            {
                IDictionary<string, object> file = fileDetails as IDictionary<string, object>;
                if (string.Compare(file["name"].ToString(), "filename", StringComparison.OrdinalIgnoreCase) == 0)
                {
                    //  found our file
                    fileID = file["id"].ToString();
                    break;
                }
            }

            if (string.IsNullOrEmpty(fileID))
            {
                //  file doesnt exists
                return 0;
            }

            //  create local file
            StorageFile localFile = await ApplicationData.Current.LocalFolder.CreateFileAsync("filename_from_onedrive", CreationCollisionOption.ReplaceExisting);

            //  download file from OneDrive
            await liveClient.BackgroundDownloadAsync(fileID + "/content", localFile);

            return 1;
        }
        catch
        {
        }
        return 0;
    }

Проблема в том, что даже после установки nuget LiveConnectClient не распознается. Ссылка на сборку отсутствует. Когда я попытался установить его вручную, добавив ссылку, он все еще не решен. (Может ли это быть предназначено только для Windows 8?)

Информация о Live SDK показана на рисунке ниже:

Live SDK находится здесь: https://github.com/liveservices/LiveSDK-for-Windows

Что мне здесь не хватает?

1 ответ

Решение

Вероятно, это проблема пакета Nuget, поэтому добавление ссылки вручную, похоже, решает проблему. Вы найдете ссылку в:

C:\Users\USER\.nuget\packages\LiveSDK\5.6.3\WindowsXAML\MicrosoftLive.dll

Другие вопросы по тегам