错误:无法加载文件或程序集“System.Net.Http.Primitives, Version=1.5.0.0...”

4

我正在使用Windows Azure Web Jobs执行我的方法来获取使用LinqToTwitter的推文。我的web.config文件有:

<dependentAssembly>
    <assemblyIdentity name="System.Net.Http.Primitives" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
    <bindingRedirect oldVersion="0.0.0.0-4.2.22.0" newVersion="4.2.22.0" />
</dependentAssembly>

当我调试我的测试项目时,没有任何错误。但是,在将我的Web API发布到Azure后,在Web Job运行时出现以下错误:

System.IO.FileNotFoundException:无法加载文件或程序集“System.Net.Http.Primitives,Version = 1.5.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a”之一或其依赖项。 系统找不到指定的文件。

请参见此处的日志信息


希望这可以帮助:链接 - Sachu
嗨@Sachu,我已将Microsoft Http Client Libraries和LinqToTwitter更新到最新版本。现在我遇到了不同的错误。错误:LinqToTwitter.TwitterQueryException:缺少或无效的url参数。http://justpaste.it/lezv - sravan
嘿,现在一切都正常了。解决方案是更新两个dll,并根据Joe Mayo的解决方案,我也能够修复缺失或无效的url参数错误。 - sravan
1个回答

1
我解决了类似的问题,需要在主WPF应用程序中安装Microsoft HTTP Client Libraries 4.2.29.0,即使我在那里没有使用它们。 我的TESTER应用程序针对YouTubeDataV3.DLL程序集工作,但是当我尝试从WPF应用程序中使用它时就不行了(所有项目都设置为NET 4.5)。
我最初尝试手动修改app.config和C:\ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ config \ machine.config,但我始终看到相同的异常
“System.IO.FileNotFoundException:无法加载文件或程序集'System.Net.Http.Primitives,Version=4.2.29.0...

System.IO.FileNotFoundException: Could not load file or assembly 'System.Net.Http.Primitives, Version=1.5.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'或其某个依赖项。”

我认为NuGet存在问题,它将包文件夹存储在解决方案的同级目录,而不是由NuGet管理引用的项目同级目录。也就是说,如果有x个客户端项目应用程序使用由NuGet管理引用的程序集"A",那么您最终会在任何包含解决方案(.SLN)文件的地方散布x个包文件夹。这真的很丑陋,而且请记住,所有这些“垃圾”都将被复制到bin/debug和bin/release中:(又一次浪费资源。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接