C# 如何在单元测试中引用HomeController?

C# 如何在单元测试中引用HomeController?,c#,asp.net-mvc,unit-testing,C#,Asp.net Mvc,Unit Testing,VS 2013的UnitTest出现以下错误找不到类型或命名空间名称“HomeController”是否缺少using指令或程序集引用 我的代码是: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using Admin.Web.API; using Admin.Web.API.Controllers; using

VS 2013的UnitTest出现以下错误找不到类型或命名空间名称“HomeController”是否缺少using指令或程序集引用

我的代码是:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Admin.Web.API;
using Admin.Web.API.Controllers;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using System.Web.Mvc;

namespace Admin.Web.API.Controllers.Tests
{
    [TestClass()]
    public class HomeControllerTests
    {
        [TestMethod()]
        public void IndexTest()
        {
            var controller = new HomeController();
            ActionResult _Result = controller.Login("jschultz0614@gmail.com", "********") as ActionResult;
            Assert.IsInstanceOfType(_Result, typeof(RedirectToRouteResult));
        }
    }
}
它在控制器线上呕吐


我遗漏了什么?

我猜Homecontroller在同一解决方案中的另一个VS项目中

您需要将WEB API项目的项目引用/程序集引用添加到单元测试项目中

要添加项目引用,请在解决方案资源管理器中右键单击单元测试项目名称,然后选择“添加引用…”,在“引用管理器”对话框中选择Web API复选框(如果已列出),或浏览到其位置


单击“确定”。我希望问题应该解决。

我猜您缺少using指令或程序集引用,如错误消息所示。如果没有看到更多的代码,我想我们不能说更多了。请发布您的HomeController。您可能只需要添加对测试项目的引用,该项目指向解决方案中包含HomeController的另一个C项目。我的引用是Admin.Web.API、Microsoft.VisualStudio.QualityTools…、System、System.Web和System.Web.Mvc。Admin.Web.API引用上有一个黄色三角形。HomeController仍然只是一个类。与任何其他类一样,引用听起来像是需要修复Admin.Web.API引用。已经修复了,并且引用上有一个黄色三角形。请检查这两个项目的.NET Framework版本。有时,如果一个高于另一个,这可能会发生。为此,您需要右键单击解决方案资源管理器中的项目名称,然后选择“属性”检查应用程序选项卡,检查两个项目的目标框架。确保它们是相同的版本。