我正在使用与NuGet一起安装的linqtotwitter(v3.0.3)。
它正在使用VS2012 .NET 4.5
但是当我尝试部署时,在运行时接受此错误;
无法加载文件或程序集'System.Net.Http.Primitives,...或其依赖项之一。定位程序集的清单定义 与装配参考不匹配。
System.Net.Http.Primitives.dll位于文件夹中。
有什么想法吗?
答案 0 :(得分:4)
我刚刚解决了同样的问题。查看您的本地web.config并查看已添加到运行时的内容> assemblyBinding部分。
我将此添加到我的live 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>
答案 1 :(得分:1)
LINQ to Twitter v3.0.3具有以下依赖项:
System.Net.Http.dll, v4.0.0.0
System.Net.Http.Extensions.dll, v2.2.18.0
System.Net.Http.Primitives.dll, v4.2.18.0
System.Net.Http.WebRequest.dll, v4.0.0.0
安装NuGet软件包时,这些程序集也会安装,需要与应用程序一起部署。
有时,如果您已包含程序集但未部署所有程序集依赖项,则也会看到此错误。您可以使用反编译器或ILDasm来查看程序集必须确保包含所有内容的引用。我使用Telerik的JustDecompile,它是免费的,它可以让你深入了解参考树,看看你需要包含的所有东西。
答案 2 :(得分:1)
我在服务项目中添加了 linqtotwitter (使用nuget),然后在尝试运行单元测试时出现此错误。
我的单元测试项目已经拥有了“依赖组件”。在app.config中,如其他地方所述。修复它对我来说是在测试项目上运行nuget 。
从包管理器控制台中,选择您的测试(或Web)项目,然后运行:
Install-Package linqtotwitter