C# 尝试读取异步OAuth请求响应时,System.Net.Http.Formatting.dll中未处理的FileNotFound异常

C# 尝试读取异步OAuth请求响应时,System.Net.Http.Formatting.dll中未处理的FileNotFound异常,c#,asp.net,.net,http,C#,Asp.net,.net,Http,更新/理论 我相信Newtonsoft.json 4.5.0.0版本会更好地说明这个特定错误,它在他们的网站上似乎不存在:或者说,真的——有人看到过吗 原创 在请求OAuth令牌(使用以下代码)后尝试读取响应时,我收到以下错误: System.Net.Http.Formatting.dll中发生类型为“System.IO.FileNotFoundException”的未处理异常 其他信息:无法加载文件或程序集“Newtonsoft.Json,Version=4.5.0.0,Culture=neu

更新/理论 我相信Newtonsoft.json 4.5.0.0版本会更好地说明这个特定错误,它在他们的网站上似乎不存在:或者说,真的——有人看到过吗

原创

在请求OAuth令牌(使用以下代码)后尝试读取响应时,我收到以下错误:

System.Net.Http.Formatting.dll中发生类型为“System.IO.FileNotFoundException”的未处理异常

其他信息:无法加载文件或程序集“Newtonsoft.Json,Version=4.5.0.0,Culture=neutral,PublicKeyToken=34etz678bn443”或其依赖项之一。系统找不到指定的文件

代码:

HttpClient=newhttpclient();
client.BaseAddress=新Uri(BaseURL+RequestOAuthTokenURL);
client.DefaultRequestHeaders.Authorization=new AuthenticationHeaderValue(“基本”,Convert.ToBase64String(System.Text.ascienceoding.ASCII.GetBytes(
格式(“{0}:{1}”,用户名,密码));
client.DefaultRequestHeaders.Accept.Add(新的MediaTypeWithQualityHeaderValue(“应用程序/json”);
字符串url参数=”;
HttpResponseMessage response=client.GetAsync(urlParameters).Result;
if(响应。IsSuccessStatusCode)
{

var dataObjects=response.Content.ReadAsAsync().Result;//这为我解决了问题:
我在Tools/NuGet package Manager/package Console Manager“中执行了“get package”操作,发现版本为6.0.4,并将bindingRedirect版本设置为6.0.0.0,解决了问题。

看起来像是配置/安装错误……您是否检查了目标PC上的NewtonSoft版本?没有问题-一切似乎都是正确的:/
HttpClient client = new HttpClient();
client.BaseAddress = new Uri(BaseURL + RequestOAuthTokenURL);

client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic", Convert.ToBase64String(System.Text.ASCIIEncoding.ASCII.GetBytes(
                    string.Format("{0}:{1}", Username, Password))));
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));

string urlParameters = "";
HttpResponseMessage response = client.GetAsync(urlParameters).Result;
if (response.IsSuccessStatusCode)
{
     var dataObjects = response.Content.ReadAsAsync<IEnumerable<DataObject>>().Result; //<-- offending line
     foreach (var dataObj in dataObjects)
     {
          Console.WriteLine("{0}", dataObj.Name);
     }
}