【问题标题】:Nuget Error: Failed to add reference to System.Net.HttpNuget 错误:无法添加对 System.Net.Http 的引用
【发布时间】:2015-05-14 22:44:29
【问题描述】:

我收到一个错误:

“无法加载文件或程序集 'System.Net.Http.Primitives, Version=4.2.22.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' 或其依赖项之一。系统找不到指定的文件。”:" System.Net.Http.Primitives,版本=4.2.22.0,文化=中性,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,
        });

关于如何解决此错误的任何想法?

我尝试根据this answer从 Nuget 更新 Http 客户端库的安装,但安装失败并出现错误:无法添加对 System.Net.Http 的引用,请确保它在全局程序集中缓存。我不知道全局程序集缓存是什么,或者如何确保它在那里。这个问题有解决办法吗?

【问题讨论】:

    标签: c# gmail-api


    【解决方案1】:

    尝试通过转到工具 -> 扩展和更新 -> 更新 -> NuGet 包管理器 -> 更新来更新您的 NuGet 包管理器。

    然后卸载包再安装。

    【讨论】:

      【解决方案2】:

      由于您的代码中已经有了秘密,您可以执行以下操作:

      // 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();
      

      【讨论】:

        猜你喜欢
        • 2017-06-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-05-01
        • 1970-01-01
        • 1970-01-01
        • 2018-12-26
        • 1970-01-01
        相关资源
        最近更新 更多