Nuget Error: Failed to add reference to System.Net.Http

Nuget Error: Failed to add reference to 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,
        });

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

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

因为你的代码中已经有了秘密,你可以这样做:

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

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

然后卸载软件包并重新安装。