【问题标题】:Error : Could not load file or assembly 'System.Net.Http.Primitives, Version=1.5.0.0...'错误:无法加载文件或程序集“System.Net.Http.Primitives,版本=1.5.0.0 ...”
【发布时间】:2015-08-11 03:47:52
【问题描述】:

我正在使用 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 作业运行时,我遇到了以下错误:

System.IO.FileNotFoundException:无法加载文件或程序集 'System.Net.Http.Primitives,版本=1.5.0.0,文化=中性, PublicKeyToken=b03f5f7f11d50a3a' 或其依赖项之一。这 系统找不到指定的文件。

查看更多log info here

【问题讨论】:

  • link 希望对您有所帮助
  • 嗨@Sachu,我已将Microsoft Http 客户端库和LinqToTwitter 更新到最新版本。现在我得到不同的错误。错误:LinqToTwitter.TwitterQueryException:url 参数丢失或无效。justpaste.it/lezv
  • 嘿,现在一切正常。解决方案是更新两个 dll,并根据Joe mayo's solution,我也可以修复 Missing or invalid url parameter 错误。

标签: c# asp.net nuget azure-webjobs linq-to-twitter


【解决方案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,版本=4.2.29.0...

System.IO.FileNotFoundException:无法加载文件或程序集 'System.Net.Http.Primitives,版本=1.5.0.0,文化=中性, PublicKeyToken=b03f5f7f11d50a3a' 或其依赖项之一。

我认为 NuGet 存在一些问题,因为它将包文件夹存储到解决方案的对等点,而不是对由 NuGet 管理的项目引用的对等点。 IOW,如果您有 x 数量的客户端项目应用程序使用由 NuGet 管理的程序集“A”,那么您最终会得到 x 数量的包文件夹分散在解决方案 (.SLN) 文件所在的任何地方。这真的很难看,而且请记住,所有这些垃圾:),将被复制到 bin/debug 和 bin/release :( 再一次。 多么浪费的方法。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-07-28
    • 2014-10-10
    • 2015-09-01
    • 2016-04-18
    • 2011-03-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多