Azure构建管道:dotnet构建失败,并带有:FileNotFoundException:无法加载文件或程序集'TechTalk.SpecFlow,版本= 3.1.0.0

时间:2020-03-23 09:13:27

标签: asp.net azure-devops specflow

使用任务 dotnet build 的构建管道开始失败,因为Build Engine版本最近从16.4.0+更改为16.5.0 +。

nuget包 SpecFlow 对库 TechTalk.SpecFlow 有依赖性。

异常如下:

C:\Users\VssAdministrator\.nuget\packages\specflow.tools.msbuild.generation\3.1.89\build\SpecFlow.Tools.MsBuild.Generation.targets(93,5): Error MSB4018: The "GenerateFeatureFileCodeBehindTask" task failed unexpectedly.
    System.IO.FileNotFoundException: Could not load file or assembly 'TechTalk.SpecFlow, Version=3.1.0.0, Culture=neutral, PublicKeyToken=0778194805d6db41'. The system cannot find the file specified.

我所做的调查(没有帮助)

  • 将SpecFlow的版本升级到最新版本
  • 使用3.1将SpecFlow的版本降级为第一个
  • 明确将程序集 TechTalk.SpecFlow 添加到项目中
  • 使用自托管构建代理
    • 文件系统 TechTalk.SpecFlow 在3.1.0.0版中可用

有什么想法吗?

1 个答案:

答案 0 :(得分:5)

这是issue with .NET SDK 3.1.200

作为一种变通办法,您可以一直使用.NET SDK 3.1.102,直到它修复为止(在.NET SDK,SpecFlow或两者中)。

其他信息:

https://github.com/SpecFlowOSS/SpecFlow/issues/1912 https://github.com/dotnet/core/issues/4404#issuecomment-599768237