c# - 项目引用不会编译 'should be reference'

标签 c# .net

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

不确定这意味着什么,因为我已经将对项目(包括 Controller )的引用添加到测试项目中??

任何想法

非常感谢, 詹姆斯

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

最佳答案

您是否包括了对它要求的 Web.Areas 库的引用?如果不添加它。

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

要修复它,您可能需要降级所有其他项目的版本或升级当前项目的版本。

关于c# - 项目引用不会编译 'should be reference',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21309018/

相关文章:

c# - Expression-Bodied 属性和简单的 Getter 属性之间的区别

c# - 如何将以下类对象制作成xml?

c# - 我在 VS2017 中启动的项目不会在 VS2019 : error CS1061 上构建

c# - 如何在 ASP.NET MVC 中实现模拟帧?

c# - 确保 streamreader 不会挂起等待数据

c# - 如何让WCF服务使用HTTPS协议(protocol)

c# - 一个上下文引用 LINQ 查询抛出多个引用异常 - BUG?

c# - 如何在 ASP.NET 中以编程方式创建 <h1> 标记?

c# - foreach 与 someList.ForEach(){}

c# - 圆形边缘形式的 AllowTransparency 替代方案