2015-05-14 3 views
0

Я получаю сообщение об ошибке:NuGet Ошибка: Не удалось добавить ссылку на System.Net.Http

"Could not load file or assembly 'System.Net.Http.Primitives, Version=4.2.22.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified.":"System.Net.Http.Primitives, Version=4.2.22.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"}

работает следующий код:

 base.Initialize(name, config); 
     _emailAddress = Settings.EmailAddress; 
     string clientSecret = Settings.ClientSecret; 
     string clientId = Settings.ClientId; 
     Task<UserCredential> tCredential; 
     ClientSecrets clientSecrets = new ClientSecrets {ClientId = clientId, ClientSecret = clientSecret}; 
     tCredential = GoogleWebAuthorizationBroker.AuthorizeAsync(
      clientSecrets, 
      Scopes, 
      "user", 
      CancellationToken.None); 
     UserCredential credential; 
     try 
     { 
      credential = tCredential.Result; 
     } 
     catch (Exception ex) 
     { 
      throw; 
     } 
     _service = new GmailService(new BaseClientService.Initializer() 
     { 
      HttpClientInitializer = credential, 
      ApplicationName = "Draft Sender", //applicationName, 
     }); 

Любые идеи о том, как устранить эту ошибку?

Я попытался обновить установку библиотек Http-клиентов из Nuget в соответствии с this answer, но это не удалось установить с ошибкой: не удалось добавить ссылку на System.Net.Http, убедитесь, что она находится в глобальном кеше сборок , Я не знаю, что такое глобальный кэш сборок, или как убедиться, что он там. Есть ли решение этой проблемы?

ответ

5

Попробуйте обновить свой менеджер пакетов NuGet, перейдя в меню Сервис -> Расширения и обновления -> Обновления -> NuGet Package Manager -> Обновить.

И удалите пакет и установите его снова.

0

Поскольку у вас уже есть секрет в вашем коде, вы могли бы сделать что-то вроде:

// Create OAuth Credential. 
UserCredential credential = GoogleWebAuthorizationBroker.AuthorizeAsync(
    new ClientSecrets 
    { 
     ClientId = "CLIENT_ID", 
     ClientSecret = "CLIENT_SECRET" 
    }, 
    new[] { GmailService.Scope.GmailModify }, 
    "user", 
    CancellationToken.None).Result; 

// Create the service. 
var service = new GmailService(new BaseClientService.Initializer() 
{ 
    HttpClientInitializer = credential, 
    ApplicationName = "Draft Sender", 
}); 

ListDraftsResponse draftsResponse = service.Users.Drafts.List("me").Execute(); 
Смежные вопросы