项目参考不会编译'应该参考'

时间:2014-01-23 13:03:40

标签: c# .net

在我为测试Web代码而创建的以下新测试项目中,在尝试编译代码时出现以下错误。

不确定这是什么意思,因为我已将包含控制器的项目引用添加到测试项目中?

任何想法

非常感谢, 詹姆斯

error message

错误消息

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

enter image description here

2 个答案:

答案 0 :(得分:1)

您是否包含了对它所要求的Web.Areas库的引用?如果没有添加它。

如果您已经有了它的引用,那么“目标框架版本”将成为问题。如果您当前的项目的目标版本低于引用的程序集,则会发生这种情况。例如:如果.net4.0和Web.Areas的当前项目目标是针对.net4.5,则会出现此错误。

要解决此问题,您可能需要降级所有其他项目版本或升级当前项目的版本。

答案 1 :(得分:0)

为了解决这个问题,我在PowerController dll以及system.web.mvc的测试项目中添加了一个引用。注意:system.web.mvc位于“添加引用”对话框的扩展选项卡中。