.net visual studio单元测试项目缺少程序集(使用Moq时)

.net visual studio单元测试项目缺少程序集(使用Moq时),.net,api,unit-testing,visual-studio-2013,.net,Api,Unit Testing,Visual Studio 2013,所以我有一个包含两个项目的解决方案:Example.Api和Example.Api.Test API项目是我的Web API 2项目,它与数据库对话 Example.API.Test项目用于针对Example.API进行单元测试 我使用moq来模拟上下文和控制器等等 一个问题是,我的Example.API.Test项目遗漏了Example.API项目使用的许多程序集 测试项目引用了Example.API项目,但缺少所有系统程序集 例如,类型“System.Web.Http.ApiControll

所以我有一个包含两个项目的解决方案:Example.Api和Example.Api.Test

API项目是我的Web API 2项目,它与数据库对话

Example.API.Test项目用于针对Example.API进行单元测试

我使用moq来模拟上下文和控制器等等

一个问题是,我的Example.API.Test项目遗漏了Example.API项目使用的许多程序集

测试项目引用了Example.API项目,但缺少所有系统程序集

例如,类型“System.Web.Http.ApiController”是在未引用的程序集中定义的。您必须添加对程序集“System.Web.Http”的引用

我可以添加对Example.API.Test项目的单独引用,但这似乎不是正确的方法

有什么建议吗


谢谢。

听从别人的建议吧!即使nuget声称安装了Microsoft.AspNet.WebApi.Core软件包,也要安装它

:)

引用Joseph告诉我的话“您可以通过管理软件包(右键单击解决方案级别)轻松安装相同的版本”


谢谢大家!

当然,您还必须在测试项目中安装Microsoft.AspNet.WebApi.Core。使用nuget基本上我需要单独安装缺少的程序集,对吗?看起来像是在浪费空间:)是的,通过Nuget
安装软件包轻松地安装了webapicore。缺少的是“System.Web.Http”。当我现在手动添加引用时,它给出的错误是:Assembly'Example.API,Version=1.0.0,Culture=neutral,PublicKeyToken=null'uses'System.Web.Http,Version=5.2.2.0,Culture=neutral,PublicKeyToken=31bf3856ad364e35'的版本高于引用的程序集'System.Web.Http,版本=4.0.0.0,区域性=中性,nuget无法帮助我更新此特定程序集。:(您可以删除手动添加的依赖项并通过nuget进行安装,以便visual studio将为您安装所有必需的依赖项和配置。请在nuget软件包管理器控制台中运行以下命令安装软件包Microsoft.AspNet.WebApi.core此修复了我的问题!