SpecFlow.ExternalData 导致 dotnet 构建失败 - 无法部署到 Azure DevOps

SpecFlow.ExternalData is causing dotnet build to fail - cannot deploy to Azure DevOps

由于 ExternalData,我在将项目部署到 Azure DevOps 时遇到问题。 在我的本地机器上,VS 可以构建项目并且测试工作正常。

但是,当我尝试像在 AzureDevops 上那样使用命令 'dotnet build' 构建项目时,它失败了。

我得到的错误:

Generation error: Message: Unable to load Excel file from pathToProject\Features\Something.xlsx': Could not load file or assembly 'ExcelDataReader, Version=3.6.0.0, Culture=neutral, PublicKeyToken=93517dbe6a4012fa'. The system cannot find the file specified.

CSV 文件也是如此,只是它说的是 CSVHelper 而不是 ExcelDataReader。 我尝试安装 ExcelDataReader,但没有任何改变。 我尝试手动将 ExcelDataReader.dll 复制到我的 bin 文件夹,然后添加它的依赖项,但仍然没有任何改变。

有人可以帮忙吗? 这是我们测试的重要组成部分,能够使用 Excel 或 CSV 文件作为测试数据。

编辑:

重现步骤:

有一个功能文件具有 excel 文件的数据源标记:

@DataSource:ExcelFileName.xlsx
Scenario Outline: Get something
    Given I request a something with id "<Id>"
    Then the name of a something should be "<Name>"

如果我在 Visual Studio 中在我的机器上本地构建它,它可以工作并且还可以测试工作。 (如果我重建或构建)。

如果我进入包管理器控制台并执行命令 'dotnet build',我会收到上面的错误。 这与在 AzureDevops 上执行的命令相同。

另外,excel 文件有: 构建操作:内容 复制到输出目录:复制总是

这在新版本 3.9.52 的 SpecFlow 端已修复。