在我为测试Web代码而创建的以下新测试项目中,在尝试编译代码时出现以下错误。
不确定这是什么意思,因为我已将包含控制器的项目引用添加到测试项目中?
任何想法
非常感谢, 詹姆斯
错误消息
Error 330 The type 'Web.Supporting.BaseControllers.PowerController' is defined in an assembly that is not referenced. You must add a reference to assembly 'Web.Areas, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'. C:\Power\Test.Unit.Web.Portal\Controllers\SearchProductControllerTests.cs 39 13 Test.Unit.Web.Portal
更新
尝试将system.web.mvc添加到测试项目中,虽然我看不到它,请参见下面的图片
更新
通过查看现有的测试项目找到它。在对话框(???)中看不到它,但我在这里找到它:C:.. \ packages \ Microsoft.AspNet.Mvc.4.0.30506.0 \ lib \ net40 \ System.Web.Mvc.dll
答案 0 :(得分:1)
您是否包含了对它所要求的Web.Areas
库的引用?如果没有添加它。
如果您已经有了它的引用,那么“目标框架版本”将成为问题。如果您当前的项目的目标版本低于引用的程序集,则会发生这种情况。例如:如果.net4.0和Web.Areas
的当前项目目标是针对.net4.5,则会出现此错误。
要解决此问题,您可能需要降级所有其他项目版本或升级当前项目的版本。
答案 1 :(得分:0)
为了解决这个问题,我在PowerController dll以及system.web.mvc的测试项目中添加了一个引用。注意:system.web.mvc位于“添加引用”对话框的扩展选项卡中。