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

Asp.net mvc Asp.net单元测试中缺少对System.Web.Mvc的引用?,asp.net-mvc,unit-testing,Asp.net Mvc,Unit Testing,我最近为我的Asp.NETMVC应用程序做了一些单元测试,或者我尝试过,它一直告诉我“类型'System.Web.Mvc.Controller'在未引用的程序集中定义。您必须添加对程序集'System.Web.Mvc,Version=5.1.0.0,Culture=neutral'的引用。然后我尝试添加对上述内容的引用,但只能选择Version 4.0.0.0,现在它告诉我,我的项目已经使用了Version 5.1.0.0,这是一个更高的版本。怎么办 非常感谢 这是一个有根据的猜测,但您可能通过

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


非常感谢

这是一个有根据的猜测,但您可能通过nuget软件包获得了较新的版本(一些较新的MVC项目模板会这样做),因此它没有安装在GAC中。使用MVC项目的nuget包管理器来确定是否是这样,如果是这样,那么谜团就解决了


在测试项目中,您可以添加相同的包,或者使用addreference->Browse浏览nuget依赖项,并在MVC项目下浏览,直到找到DLL(它将位于文件系统中SolutionName/MvcProjectName/packages下的某处)。

MVC 5来自nuget包。就像解决方案中的主MVC web项目一样。通过NuGet将MVC安装到测试项目中,您就可以开始了。

安装软件包Microsoft.AspNet.MVC