【问题标题】:How to install NUnit framework in Visual Studio 2012 when using NuGet is not an option?无法选择使用 NuGet 时如何在 Visual Studio 2012 中安装 NUnit 框架?
【发布时间】:2020-02-21 02:09:47
【问题描述】:

如何在 VS 2012 中完全安装 NUnit 所需的所有组件?似乎我错过了一些步骤,或者我阅读的安装文档不适用于 Visual Studio 2012。

这是我尝试过的:

1) 我已经使用扩展安装了 NUnit 3 测试适配器,如下所述: https://github.com/nunit/docs/wiki/Adapter-Installation

这一步似乎没问题。

2) 然后我尝试按照以下说明安装框架: http://erraticdev.blogspot.com/2012/01/running-or-debugging-nunit-tests-from.html

但是,当我单击“安装”时,我收到一条错误消息,指出此软件包需要 NuGet 客户端 2.12 或更高版本。显然,2.12 版不适用于 VS 2012;支持的最高版本是 2.8。有没有办法在没有 NuGet 的情况下安装这个包?我尝试过的手动安装答案都没有奏效。 如果我想在不使用 NuGet 的情况下安装它们,我也不清楚从哪里下载 NUnit 框架的 dll。

或者,是否可以安装 NUnit 2 代替?我尝试卸载 NUnit 3 的适配器,安装 NUnit 2 的适配器。当我去安装 NUnit 2 的框架时,使用上述方法,它就是不存在。除了一堆其他适配器、运行器、项目加载器等之外,“NUnit”的唯一选项是与版本 3 匹配的圆形图标中带有绿色“n”的选项。

【问题讨论】:

  • 使用 Visual Studio 从 nuget.org 安装 NUnit,我看到列出的版本一直追溯到 2.5.7。您在第 2 步中遵循的说明当然适用于 NUnit V2。
  • 如果您想使用 NUnit 3,只需从 GitHub 下载并安装 zip 包。将其放在方便的地方并从您的项目中引用。

标签: visual-studio nuget nunit


【解决方案1】:

我尝试过的手动安装答案均无效。它是 我也不清楚我会在哪里下载 NUnit 的 dll 如果我想在不使用 NuGet 的情况下安装它们,框架 FROM。

NuGet/Home/#3131。您当前的Nuget Package Manager 2.8 版不支持较新版本的Nuget 包(包括Nunit3 包)。要解决此问题,您可以选择将 VS 至少升级到 VS2013 或更高版本,或者您可能必须手动添加引用而不使用 Nuget

回答您的原始问题(如何在不使用 Nuget 的情况下引用包):

1.例如,如果您需要Nunit3包中的程序集,版本为3.11.0,您可以从this link手动下载包。

2.然后你会得到一个nunit.3.11.0.nupkg文件,一个xx.nupkg文件正好是一个xx.zip文件,所以我们可以重命名为nunit.3.11.0.zip,解压后得到一个lib文件夹中存在我们需要的程序集。

如果您的项目以.net4.5 及更高版本为目标,则需要net45 文件夹,如果它以.net4.0 为目标,则需要net40 文件夹...然后我们只需要在中引用程序集nunit.framework.dll VSRight-click project=>Add Reference=>Browse...

3.由于我发现nunit.3.11.0\build中有一个NUnit.props文件,您可能还需要卸载您的项目并编辑xx.csproj以将NUnit.props的内容复制到其中。您需要将红色的添加到您的项目文件(csproj)中:

这是在不使用 Nuget 的情况下将 NUnit3 安装到项目中的手动解决方法。我不建议这样做,但如果您有特定原因无法升级 VS2012,希望此解决方法有所帮助:)

另外:如果您现在想使用Nunit2 而不是Nunit3,如果您需要有关NUnit2 的一些信息,您可以从这两个博客中获得一些帮助:@ 987654325@和two

【讨论】:

  • 问题是询问何时“nuget 不是一个选项”,但您的答案解释了如何下载 Nuget 包。我也有同样的问题,除了在谷仓编程时我没有互联网访问权限!企业政策也不允许将项目源代码链接到 nuget 是其中之一的在线内容!
  • 这个问题的所有者询问当旧VS2012不支持Nuget管理器扩展时如何安装所需的组件。他想使用Nuget包,只是因为VS2012的限制他不能使用Nuget客户端。请在添加评论之前仔细阅读问题,对于原始用户:他实际上是在询问何时不能使用 NuGet 客户端。
猜你喜欢
  • 2016-03-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-12-21
  • 2019-07-23
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多