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

时间:2015-01-01 19:31:08

标签: c# asp.net .net http

更新/理论 我相信使用Newtonsoft.json 4.5.0.0版本可以更好地说明这个特定的错误,这个版本似乎不存在于他们的网站上:https://www.nuget.org/packages/Newtonsoft.Json/或根本没有,真的 - 有其他人看过吗?< / p>

原始

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

  

未处理的类型&#39; System.IO.FileNotFoundException&#39;发生在System.Net.Http.Formatting.dll

中      

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

代码:

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);
     }
}

我读过这可能是由许多事情引起的(从错误的请求参数到依赖树中丢失的文件)。但是,通过搜索任何建议的答案,我无法找到问题的根源。另外,我的用户名和&amp;密码看起来没问题,并且不会导致401(输入垃圾凭证,并且不会发生此错误)。任何想法都将不胜感激!

1 个答案:

答案 0 :(得分:0)

这解决了我的问题: http://www.tomasvoracek.com/2015/07/could-not-load-file-or-assembly-newtonsoft-json-version4-5-0-0-cultureneutral-publickeytoken30ad4fe6b2a6aeed-or-one-of-its-dependencies/ 我做了一个&#34; get-package&#34;在Tools / NuGet包管理器/包控制台管理器&#34;并发现版本为6.0.4并将bindingRedirect版本设置为6.0.0.0并解决了问题。

相关问题