SpecFlow.NUnit via Nuget:缺少对NUnit.core的引用

SpecFlow.NUnit via Nuget:缺少对NUnit.core的引用,nunit,nuget,specflow,Nunit,Nuget,Specflow,我刚刚通过nuget安装了'specflow.nunit'包,但是包含这些规范的项目需要再编译,因为添加到项目中的SpecFlowNUnitExtension类缺少对nunit.core的引用(更具体地说,找不到'nunit.core'和'nunit.core.Extensibility'命名空间)。还有其他人有同样的问题吗?你设法解决了吗?好的,看来我找到办法解决它了;所需的dll可从下载。下载“bin”版本,解压缩zip存档,在文件夹“lib”中有2个SpecFlowNUnitExtensi

我刚刚通过nuget安装了'specflow.nunit'包,但是包含这些规范的项目需要再编译,因为添加到项目中的
SpecFlowNUnitExtension
类缺少对nunit.core的引用(更具体地说,找不到'nunit.core'和'nunit.core.Extensibility'命名空间)。还有其他人有同样的问题吗?你设法解决了吗?

好的,看来我找到办法解决它了;所需的dll可从下载。下载“bin”版本,解压缩zip存档,在文件夹“lib”中有2个SpecFlowNUnitExtension需要的程序集: -nunit.core.dll -nunit.core.interfaces.dll

添加对这两个dll和项目编译的引用


(虽然有点尴尬;这些程序集不应该与specflow.nunit包捆绑在一起吗?

我通过安装nunitestadapter Nuget包修复了它。

我们的修复方法是从安装specflow.nunit Nuget包期间添加的项目中删除SpecFlowNUnitExtension.cs。根据文件顶部的注释,仅当您使用的是我们未使用的nunit.console运行程序之一时才需要它。

我不确定这是否仍然是一个问题,但我今天遇到了相同的问题。我可能做错了什么……)

经过多次搜索、安装和重新安装,我发现了以下帖子:


我安装了弃用的NUnit.Runners包,最终消除了引用错误。这似乎真的很难理解,因此,我必须再次指出,我肯定遗漏了一些东西,但我认为在这里记录会很有帮助,以防其他人遇到此问题。

安装NUnitV2.Core Nuget软件包解决了遗漏的引用错误。

同样,我相信这是更好的答案集,也是“复制本地”nunit.core.interfaces程序集的属性为True。@Morten。这是杰作。我花了一个小时来解决这个问题。你的回答今天帮助了我。在VS2017中,您必须这样做,然后手动在{SolutionDir}/packages/nunitestadapter.2.1.1/tools/下添加引用。