在Asp.net单元测试中缺少对System.Web.Mvc的引用?

时间:2014-06-27 21:38:26

标签: asp.net-mvc unit-testing

我最近为我的Asp.NET MVC应用程序做了一些单元测试,或者我试过,它一直在告诉我"类型' System.Web.Mvc.Controller'在未引用的程序集中定义。您必须添加对程序集的引用,System.Web.Mvc,Version = 5.1.0.0,Culture = neutral。'然后我尝试添加对上面提到的引用,但只能选择版本4.0.0.0,现在它告诉我我的项目已经使用版本5.1.0.0,这是更高版本。怎么办?

非常感谢!

2 个答案:

答案 0 :(得分:30)

MVC 5来自NuGet包。就像在解决方案中使用主MVC Web项目一样。通过NuGet将MVC安装到您的Test项目中,您应该很高兴。

答案 1 :(得分:1)

一个有根据的猜测,但您可能已经通过nuget包获得了更新的版本(一些较新的MVC项目模板执行此操作),因此它未安装在GAC中。使用nuget包管理器为MVC项目确定是否是这种情况,如果是,那么神秘解决了。

在测试项目中,您可以添加相同的包,或使用addreference->浏览浏览到nuget依赖项并在MVC项目下查找,直到找到DLL(它将在文件系统下的某处)解决方案名称/ MvcProjectName /包)。