添加控制器时未找到 nunit 框架错误
Posted
技术标签:
【中文标题】添加控制器时未找到 nunit 框架错误【英文标题】:Getting nunit framework not found error when adding a controller 【发布时间】:2014-02-20 11:13:30 【问题描述】:请多多包涵,因为我是一名 Java 开发人员,刚刚涉足 ASP.Net 世界
我开始使用现有的 C# VS2012 代码库进行编码。它使用 nuget,并且在 packages.config 中提到了 Newtonsoft
当我右键单击 Controllers > Add a new controller 时,出现以下错误。
无法加载文件或程序集
'nunit.framework, Version=2.2.4.0, Culture=neutral, PublicKeyToken=...'
或其依赖项之一。系统找不到指定的文件。
现在在 Google 中环顾四周,似乎 GAC 缺少 NUnit 程序集。不知道我应该怎么做。我应该得到 NUnit 吗?为什么它要寻找某个版本的 nunit(而且那也是一个非常旧的版本)?
对我解决此问题的任何帮助将不胜感激!
【问题讨论】:
【参考方案1】:当您单击“添加新控制器”时,Visual Studio 将尝试完成解析/构建以在应该向您显示的窗口中填充许多值(使用可用的模型和可用的视图)。看起来像您的至少一个项目缺少依赖项(可能是您的单元测试项目)。
NUnit 2.2.4.0 确实是一个相当老的版本,它甚至在 NuGet 上还不存在(这本来是一个简单的修复)。 NUnit 没有安装在 GAC 中是有道理的,因为您通常不会仅仅因为看起来可行就将所有东西都放在 GAC 中。如果你愿意升级到最新的 NUnit 版本,最简单的方法是add the NUnit NuGet package to your project through the Package Manager。
我假设当您在记事本中打开生成此警告的项目的项目文件时,您会看到一个 <hintpath>
标记作为 NUnit 参考的兄弟(它可能不存在)指向它告诉 Visual Studio 查找 NUnit 的文件夹。
我 suggest you install the NUnit version your project is looking for from here 然后更新项目中的引用以指向正确的位置。这应该可以解决问题。
至于您对特定版本的评论,.NET 程序集是使用特定版本号(通常设置在AssemblyInfo.cs
)编译的,项目文件中的引用可以是特定版本或具有该名称的任何程序集(突出显示解决方案资源管理器中的引用并检查属性窗口(ctrl+w、p 或 alt+ enter)。您将看到一个属性“特定版本”,在您的情况下设置为“true”,这导致 Visual Studio 将程序集版本存储在项目文件中。
【讨论】:
以上是关于添加控制器时未找到 nunit 框架错误的主要内容,如果未能解决你的问题,请参考以下文章
iOS 故事板 - 添加 UINavigationBar 时未出现
构建 iOS 框架时未找到 Ktor 和 kotlinx 依赖项