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

时间:2017-10-23 07:02:38

标签: c# .net specflow acceptance-testing

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

  

生成错误:无法加载文件或程序集' Microsoft.Build.Framework,Version = 15.1.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a'或其中一个依赖项。 Das System kann die angegebene Datei nicht finden。

这从未发生过,上周五它没有任何问题。

  • 可能导致此错误发生的原因以及如何解决?

我已尝试删除对Microsoft.Build.Framework的引用并读取它但它没有任何效果......

提前致谢

编辑:我已确定程序集是使用正确版本引用但错误仍然存​​在...

enter image description here

2 个答案:

答案 0 :(得分:1)

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

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

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

答案 1 :(得分:0)

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

  • 在项目文件末尾添加<Import Project="..\packages\SpecFlow.2.2.1\tools\TechTalk.SpecFlow.targets" Condition="Exists('..\packages\SpecFlow.2.2.1\tools\TechTalk.SpecFlow.targets')" />
  • 从功能文件中删除SpecFlowSingleFileGenerator
  • 保存&amp;构建
  • 读取SpecFlowSingleFileGenerator到功能文件
  • 保存&amp;构建
这次帮助了我......