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 包管理器。
然后卸载软件包并重新安装。
我遇到一个错误:
"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 包管理器。
然后卸载软件包并重新安装。