【发布时间】:2015-06-23 00:54:06
【问题描述】:
我目前正在开发一个 Web API 项目,我有一个可以正常工作的简单控制器。我创建了一个单元测试项目来测试我的 API 控制器。该项目引用System.Net.Http (4.0.0.0) 和System.Web 程序集以及Microsoft ASP.NET Web API 2.2 Web Host NuGet 包及其所有子包。当我运行我的第一个 TestMethod 时,它失败并抛出异常:
无法加载文件或程序集 'System.Web.Http, Version=5.2.2.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' 或其之一 依赖关系。定位程序集的清单定义不 匹配程序集引用。
我尝试了很多东西,但似乎都没有解决我的问题,而且References -> Assemblies 中没有版本为 5.2.2.0 的System.Net.Http。我目前正在使用 Visual Studio Community Edition 2013。谢谢!
【问题讨论】:
-
您的 WebConfig 在 /runtime/dependentAssembly/assemblyIdentity[name="System.Web.Http"] 显示什么版本?
-
首先,System.Net != System.Web。其次,尝试将您的 TestProject 目标框架与 Web Api 项目匹配,您应该在 References -> Assemblies 中找到正确的版本。
-
没有这样名字的
dependentAssembly... :/ -
我的项目已经使用了相同的目标框架。
标签: c# visual-studio unit-testing asp.net-web-api assemblies