添加控制器时,找不到nunit框架错误

Oce*_*lue 2 nunit project-reference asp.net-mvc-4 visual-studio-2012

请耐心等待,因为我是一名Java开发人员,只是在ASP.Net世界中崭露头角

我开始在现有的C#VS2012代码库中编码.它使用nuget,在packages.config中提到了Newtonsoft

当我右键单击Controllers>时Add a new controller,我收到以下错误.

无法加载文件或程序集'nunit.framework, Version=2.2.4.0, Culture=neutral, PublicKeyToken=...'或其依赖项之一.

该系统找不到指定的文件.

现在环顾谷歌,似乎GAC缺少一个NUnit程序集.不知道该怎么办.我应该得到NUnit吗?为什么要寻找某个版本的nunit(而且这个版本太旧了)?

任何帮助我解决这个问题将非常感谢!

jes*_*ing 5

当您单击"添加新控制器"时,Visual Studio将尝试完成解析/构建以在窗口中填充它应该向您显示的许多值(使用可用的模型和可用视图).它看起来至少有一个您的项目缺少依赖项(可能是您的单元测试项目).

NUnit 2.2.4.0确实是一个非常古老的版本,它甚至还没有在NuGet上存在(这本来是一个简单的修复).NUnit没有安装在GAC中是有道理的,因为您通常不会因为看起来可能而将所有内容都放在GAC中.如果您愿意升级到最新的NUnit版本,最简单的方法是通过Package Manage r 将NUnit NuGet包添加到您的项目中.

我假设当您打开在记事本中生成此警告的项目的项目文件时,您会看到一个<hintpath>标记作为NUnit引用的兄弟(它可能不在那里)指向它所在的文件夹告诉Visual Studio寻找NUnit.

建议您从这里安装项目正在寻找的NUnit版本,然后更新项目中的引用以指向正确的位置.这应该解决问题.

至于您对特定版本的评论,.NET程序集使用特定的版本号进行编译(通常在其中设置AssemblyInfo.cs)项目文件中的引用可以是特定版本或具有该名称的任何程序集(突出显示在解决方案资源管理器并检查属性窗口(ctrl+ w,palt+ enter).你会看到一个属性"特定版本"而你的情况设置造成的Visual Studio存储在项目文件中的程序集的版本为"true".