2014-05-13 85 views
10

如果让Visual Studio在创建MVC项目时创建单元测试项目,这可能会更容易。但是看到如何做不到,我现在应该如何添加一个单元测试项目?单元测试项目不能引用MVC项目

这里就是我所做的:

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

毕竟,我在新添加的引用上看到一个小小的黄色危险图标,并且我无法访问代码中的任何其名称空间。

回答

28

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

+0

哈!那正是我正在寻找的答案。谢谢。 –

+1

视觉工作室抛出这么多麻烦,给我们详细的警告消息,当我们得到一个错误时,我们仍然看堆栈溢出:D – Stefan

+0

可以确认...这解决了我的问题。 – fujiiface

4

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

Install-Package Microsoft.AspNet.Mvc 

或者您可以使用的NuGet UI管理器在Visual Studio

+0

嗯,好想法。但我只是试了一下,我也遇到了同样的问题。 –

+0

好的,确保您在测试项目和MVC项目中都安装了相同版本的MVC。确保它不是版本4和版本5的问题。 – TGH

+0

另一个怪异的解决方法是只用MVC和测试项目创建一个新的临时解决方案。然后,将刚刚创建的测试项目从该解决方案复制到真正的解决方案,并将其添加为现有项目。 – TGH

1

当路径没有正确定义时,此问题也存在,因此您应该非常仔细地浏览这些引用。

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

+0

这对我有用。我愚蠢地认为他们会自动引用解决方案中的其他项目。 – Salgat

1

使用解决方案资源管理器,浏览你的测试解决方案参考文献: SolutionExplorer

右键单击 “参考”

选择Add Reference

从选择解决方案菜单,并确认您的主项目已被选中。像这样: enter image description here

这在2013年为我做了!