Specflow 生成失败 - 无法加载文件 Microsoft.Build.Framework

Specflow generation failed - Could not load file Microsoft.Build.Framework

当我将新的 SpecFlow 功能文件添加到我们的解决方案时,出现以下错误:

Generation error: Could not load file or assembly 'Microsoft.Build.Framework, Version=15.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. Das System kann die angegebene Datei nicht finden.

以前从未发生过这种情况,上周五它没有任何问题。

我试图删除对 Microsoft.Build.Framework 的引用并重新添加它,但没有任何效果...

提前致谢

编辑:我已确保程序集引用了正确的版本,但错误仍然存​​在...

这是一个已知问题 (https://github.com/techtalk/SpecFlow/issues/857),我们还没有修复。

有时卸载并重新安装 Visual Studio 扩展会有帮助。

最好的解决方法是在保存功能文件时不生成代码隐藏文件,而是在编译项目时生成它们。
查看相关文档:http://specflow.org/documentation/Generate-Tests-from-MsBuild/
您只需在您的 csproj 中导入一个目标文件,并从项目资源管理器中的功能文件中删除 CustomTools。

我通过以下步骤解决了这个问题:

  • 在项目文件末尾添加<Import Project="..\packages\SpecFlow.2.2.1\tools\TechTalk.SpecFlow.targets" Condition="Exists('..\packages\SpecFlow.2.2.1\tools\TechTalk.SpecFlow.targets')" />
  • 从功能文件中删除 SpecFlowSingleFileGenerator
  • 保存并构建
  • 阅读 SpecFlowSingleFileGenerator 功能文件
  • 保存并构建

这一次对我有帮助...