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

C# Specflow生成失败-无法加载文件Microsoft.Build.Framework,c#,.net,specflow,acceptance-testing,C#,.net,Specflow,Acceptance Testing,将新的SpecFlow功能文件添加到解决方案时,出现以下错误: 生成错误:无法加载文件或程序集“Microsoft.Build.Framework,版本=15.1.0.0,区域性=neutral,PublicKeyToken=b03f5f7f11d50a3a”或其依赖项之一。这套系统不适用于任何数据 这以前从未发生过,上周五它毫无问题地工作了 发生此错误的原因是什么?如何修复 我试图删除对Microsoft.Build.Framework的引用并读取它,但没有任何效果 提前谢谢 编辑:我已确

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

生成错误:无法加载文件或程序集“Microsoft.Build.Framework,版本=15.1.0.0,区域性=neutral,PublicKeyToken=b03f5f7f11d50a3a”或其依赖项之一。这套系统不适用于任何数据

这以前从未发生过,上周五它毫无问题地工作了

  • 发生此错误的原因是什么?如何修复
我试图删除对Microsoft.Build.Framework的引用并读取它,但没有任何效果

提前谢谢

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

这是一个已知的问题(),我们还没有解决

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

最好的解决方法是在保存功能文件时不生成代码隐藏文件,而是在编译项目时生成代码隐藏文件。
请查看相关文档:

您只需在csproj中导入一个目标文件,然后从project explorer的功能文件中删除CustomTools。

我通过以下步骤修复了该问题:

  • 在项目文件末尾添加
  • 从功能文件中删除
    SpecFlowSingleFileGenerator
  • 保存和构建
  • 将SpecFlowSingleFileGenerator读入要素文件
  • 保存和构建

这一次对我很有帮助…

你为什么要否决这一点?这就是我为修复它所做的。如果你不喜欢它,至少留下你不喜欢它的理由。嗨,@Andreas。我想我找到了问题的根本原因,并在github线程中进行了编写。看到这个答案了吗,它从我这里起作用了。可能SpecFlow正在更改Visual Studio进程上下文中的当前目录。