【发布时间】:2017-10-08 12:19:32
【问题描述】:
我们的团队支持使用最新版本 Specflow 的用户以及未使用 Specflow 的用户的自动化工作。因此,需要在 VS2017 上的 Specflow 的当前 .vsix 以及期望 Specflow 2.1 的 .vsix 之间反弹(现在我被卡住了,因为任何 feature.cs 再生都失败了,找不到 2.2)。我确实尝试从https://github.com/techtalk/SpecFlow.VisualStudio/tree/release/v2017.1 中提取信息,但我得到了几个未解决的对 Microsoft.VisualStudio 的引用。
有什么方法可以简单地提取适用于 SpecFlow 2.1 的 .vsix?
编辑:感谢 Andreas,非常感谢您的快速响应。如果您愿意,我将继续在 GitHub 上打开一个问题,但我并不是要暗示该扩展存在问题。这很可能是我的一个误解——我认为当前的 Specflow VS Extension '期望' SpecFlow 2.2。
如您所知,SpecFlow 2.2 使用 NUnit 3.x,而 SpecFlow 2.1 使用 NUnit 2.x,这对于使用 NUnit 2.x 过时功能的解决方案来说本质上是一个重大变化。
所以当我从一个使用 SpecFlow 2.2 的分支切换到另一个使用 2.1 的分支(甚至尝试清除 AppData/Local/Temp)时,SpecFlowGenerator 将失败,因为它正在寻找我们不想使用的 SpecFlow 2.2由于 NUnit 问题,在转换前分支中。
我希望不必更换扩展程序,只要我可以继续在使用 SpecFlow 2.1 的分支和使用 2.2 的分支之间切换分支。该项目的 app.config 确实包含绑定重定向 -
<dependentAssembly>
<assemblyIdentity name="TechTalk.SpecFlow" publicKeyToken="0778194805d6db41" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-2.2.1.0" newVersion="2.1.0.0" />
</dependentAssembly>
所以问题是即使在使用 2.1 和 2.2 的分支之间跳转时如何使用最新的扩展。再次感谢!
【问题讨论】:
标签: visual-studio-2017 specflow vsix