Specflow设计器生成的代码正在使用旧的specFlow 1.9.0.77

时间:2019-03-05 06:15:28

标签: c# selenium nunit specflow

我的项目中有以下Nuget软件包。 Specflow v2.4.1 Nunit v3.11 Nunit测试适配器v3.12

当我添加或修改功能文件时,specFlow会以某种方式引用specFlow的旧版本来创建/修改设计器生成的文件。

using TechTalk.SpecFlow;   

[System.CodeDom.Compiler.GeneratedCodeAttribute("TechTalk.SpecFlow", "1.9.0.77")]

与此同时,我遇到了构建错误,并且测试不再运行。

在检查问题时,我注意到TestTalk.SpecFlow.dll指向bin / debug文件夹。当我关闭解决方案并从bin / debug文件夹中删除所有文件时,参考路径更改为packages文件夹,然后设计人员生成的代码选择了正确的specflow版本。

执行构建解决方案操作后,问题再次发生(现在Techtalk.specFlow.dll指向bin / debug文件夹)

我试图删除设计器生成的代码并再次运行自定义工具,但是仅当从bin / debug文件夹中删除DLL时,问题才能解决。

我什至尝试将“文件生成后的代码”设置更改为AppDomain或进程外,但问题仍然存在。

请帮助解决问题,而不是每次都删除文件。谢谢。

1 个答案:

答案 0 :(得分:0)

我通过降级NUnit和SpecFlow解决了这个问题。

•Nunit.Framework:3.4.1 •SpecFlow:2.3.2