【问题标题】:Which Specflow Visual Studio Plugin version do I need to run SpecFlow 2.2.0?运行 SpecFlow 2.2.0 需要哪个 Specflow Visual Studio 插件版本?
【发布时间】:2020-02-22 18:22:19
【问题描述】:

我无法确定运行旧版 SpecFlow 2.2.0 需要哪个版本的 SpecFlow Visual Studio 插件

由于管理限制,我们不能使用除 2.2.0 之外的任何其他 SpecFlow 版本

我尝试了几个旧版本的 VS 插件,但是使用我现有的代码(基于 SpecFlow 2.2.0),所有这些都会导致错误:

Error   CS1029  #error: 'Version conflict - SpecFlow Visual Studio extension 
attempted to use SpecFlow code-behind 
generator 1.9, but project 'XXXXXXX' references SpecFlow 2.2.'

我想我需要一些在 2.2 内部工作的插件版本

我无法使用 SpecFlow.Tools.MsBuild.Generation 包,因为 2.2.0 尚不支持。

谁能帮帮我? SpecFlow Visual Studio 插件的发布历史可以在这里找到:

https://github.com/techtalk/SpecFlow.VisualStudio/releases

编辑

我使用 Visual Studio 2017 (15.9.6)

在“packages”文件夹中有 SpecFlow-2.2.0 和 SpecFlow.MsTest-2.2.0。我删除了它们,我删除了 nuget 包 Cache 并重建了解决方案。 问题依然存在。

【问题讨论】:

  • 您可能想了解的 GitHub 问题:SpecFlow Generator version 1.9 is used instead of 2.2.
  • 您安装了哪个版本的 Visual Studio?解决方案的packages/ 文件夹下显示了多少个不同版本的 SpecFlow NuGet 包? specflow.exe 在你的 %PATH% 中吗?
  • 请参阅上面的编辑。 specflow.exe不在我的%PATH%
  • 我也尝试了来自 GitHub 问题(见上文)的AssemblyBinding 提示,但没有成功。

标签: specflow


【解决方案1】:

您看到的错误与 cmets 中的建议无关。这是我们添加到扩展程序中的一项额外检查。

对于 SpecFlow 2.2,您必须使用旧版本的扩展。你可以在https://github.com/techtalk/SpecFlow.VisualStudio/releases找到他们

当我没记错时,v2017.2.7 应该适用。

不要忘记关闭扩展程序的自动更新。如果这样做,您将再次获得最新版本。 关于如何做到这一点的博客文章在这里:https://specflow.org/2018/vs-integration-breaking-changes-affects-all-users/


全面披露:我是 SpecFlow 和 SpecFlow+ 开发人员之一。

【讨论】:

    【解决方案2】:

    确保为你的 VS 安装了正确的 Specflow 扩展(尝试卸载并重新安装)同时确保在 VS>Tools>Options> 中设置“Enable SpecflowSingleFileGenerator 为 false”规范流。我想你只需要在第 3 版以后的版本中做到这一点。 我遇到了这个问题,虽然它在某种程度上有效,但我只是安装了 VS 2015 并在其下使用 specflow 2.2。我猜你应该可以让它适用于 VS 17。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-10-09
      • 2011-02-28
      • 1970-01-01
      • 1970-01-01
      • 2013-04-02
      • 2017-12-11
      • 1970-01-01
      • 2015-05-04
      相关资源
      最近更新 更多