asp.net-mvc-4 - 添加 Controller 时出现 nunit Framework not found 错误

标签 asp.net-mvc-4 visual-studio-2012 nunit project-reference

请耐心等待,因为我是一名刚刚涉足 ASP.Net 世界的 Java 开发人员

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

当我右键单击 Controller > 添加新 Controller 时,出现以下错误。

Could not load file or assembly 'nunit.framework, Version=2.2.4.0, Culture=neutral, PublicKeyToken=...' or one of its dependencies.

The system cannot find the file specified.

现在在 Google 中查看,似乎 GAC 缺少 NUnit 程序集。不知道我应该对此做什么。我应该获得 NUnit 吗?为什么它要寻找特定版本的 nunit(而且也是非常旧的版本)?

任何帮助我解决这个问题的人都将不胜感激!

最佳答案

当您单击“添加新 Controller ”时,Visual Studio 将尝试完成解析/构建,以填充窗口中应该向您显示的许多值(以及可用的模型和可用的 View )。它看起来像您的至少一个项目缺少依赖项(可能是您的单元测试项目)。

NUnit 2.2.4.0 确实是一个相当旧的版本,它甚至还不存在于 NuGet 上(这本来是一个简单的修复)。 NUnit 没有安装在 GAC 中是有道理的,因为您通常不会仅仅因为看起来可能就将所有内容都放入 GAC 中。如果您愿意升级到最新的 NUnit 版本,最简单的方法是 add the NUnit NuGet package to your project through the Package Manage r.

我假设当您在记事本中打开生成此警告的项目的项目文件时,您会看到 <hintpath>标记作为 NUnit 引用的同级(它可能不存在),它指向告诉 Visual Studio 查找 NUnit 的文件夹。

suggest you install the NUnit version your project is looking for from here然后更新项目中的引用以指向正确的位置。这应该可以解决问题。

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

关于asp.net-mvc-4 - 添加 Controller 时出现 nunit Framework not found 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21417726/

相关文章:

c++ - 字符串操作和奇怪的结果

c# - 如何使 NUnit 中的 TestFixtureSetup 失败

command-line - 处理 NUnit result.xml 并将其显示在 Team City Web GUI 中

asp.net-mvc - 如何在MVC4的ActionLink中包含CSS类

asp.net-mvc-4 - 在NHibernate中删除对象时出现“not-null property references a null or transient value”

asp.net-mvc - 如何在 ASP.net MVC 4 RouteConfig.cs 中使用约束?

visual-studio-2012 - Visual Studio 是如何对 App_Code 文件夹进行特殊处理的?

c# - .rdlc 报告 - 无法为数据集 'DataSet1' 创建数据读取器

asp.net - 如何在测试工具中实例化 asp.net 代码隐藏类?

c# - 在 MVC 4 Razor 中加载页面时从数据库加载数据的正确方法