【问题标题】:Unit Test Project can't reference MVC project单元测试项目不能引用 MVC 项目
【发布时间】:2014-07-01 13:27:58
【问题描述】:

如果让 Visual Studio 在创建 MVC 项目时创建单元测试项目,这可能会更容易。但是既然没有完成,我现在应该如何添加一个单元测试项目?

这就是我所做的:

  1. 右键单击解决方案,然后单击添加项目。
  2. 浏览到 Visual C# > 测试并添加单元测试项目。
  3. 在单元测试项目中,我单击添加引用,然后选择 MVC 5 项目。

在所有这些之后,我在新添加的引用上看到了一个黄色的小危险图标,并且我无法在代码中访问它的任何命名空间。

【问题讨论】:

    标签: unit-testing visual-studio-2013 asp.net-mvc-5


    【解决方案1】:

    我的理论是您必须在测试项目中安装 MVC 才能满足要求。 您可以尝试将以下 nuget 包从包管理器控制台添加到单元测试项目中以安装 MVC

    Install-Package Microsoft.AspNet.Mvc
    

    您也可以在 Visual Studio 中使用 Nuget UI 管理器

    【讨论】:

    • 嗯,好主意。但我刚刚尝试过,我遇到了同样的问题。
    • 好的,请确保您在测试项目和 MVC 项目中安装了相同版本的 MVC。确保不是版本 4 与版本 5 的问题。
    • 另一个 hacky 解决方法是使用 MVC 和测试项目创建一个新的临时解决方案。然后只需将新创建的测试项目从该解决方案复制到您的实际解决方案中,并将其添加为现有项目。
    • 我想通了。这是一个愚蠢的错误。不过感谢您的帮助。
    【解决方案2】:

    我想通了。我忘了会有一条警告消息与参考上的黄色小警告图标一起出现。所以我去了错误列表并在过滤器中启用了“警告”。有一条关于 .NET 版本不匹配的消息。单元测试项目使用 .NET 4.5,MVC 项目使用 4.5.1。我将单元测试项目更改为 4.5.1,瞧,它可以工作了。

    【讨论】:

    • 哈!这正是我正在寻找的答案。谢谢。
    • Visual Studio 很麻烦地给我们详细的警告信息,当我们收到错误时我们仍然会查看堆栈溢出:D
    • 可以确认...这解决了我的问题。
    【解决方案3】:

    当路径定义不正确时也会存在此问题,因此您应该非常仔细地浏览这些参考。

    GoTo=>Reference=>Add Reference=>Click Browse(btn)=>Select Reference 然后Ok

    【讨论】:

    • 这对我有用。愚蠢的我以为他们自动引用了解决方案中的其他项目。
    【解决方案4】:

    使用解决方案资源管理器,浏览您的测试解决方案以获取参考:

    右键单击“参考”

    选择添加参考

    从左侧菜单中选择解决方案并确认您的主要项目已被选中。像这样:

    在 VS 2013 中为我做到了!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-12
      • 1970-01-01
      • 1970-01-01
      • 2023-03-03
      • 1970-01-01
      • 2012-04-12
      相关资源
      最近更新 更多