You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure Pipeline运行Specflow External Data时报ExcelDataReader程序集缺失错误

排查解决思路

  • 检查依赖包的复制本地配置
    打开测试项目的.csproj文件,确认你显式引用了对应版本的ExcelDataReader和ExcelDataReader.DataSet包,且配置了强制复制到输出目录,参考配置:
    <PackageReference Include="ExcelDataReader" Version="3.6.0">
      <CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies>
      <PrivateAssets>none</PrivateAssets>
    </PackageReference>
    <PackageReference Include="ExcelDataReader.DataSet" Version="3.6.0">
      <CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies>
      <PrivateAssets>none</PrivateAssets>
    </PackageReference>
    
    如果是非SDK风格的旧格式项目,右键点击项目引用中的ExcelDataReader相关依赖,将属性中的「复制本地」设置为True。
  • 添加绑定重定向配置
    如果项目存在多版本依赖冲突,在测试项目的App.config文件中添加绑定重定向规则,强制所有调用指向3.6.0版本:
    <runtime>
      <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
        <dependentAssembly>
          <assemblyIdentity name="ExcelDataReader" publicKeyToken="93517dbe6a4012fa" culture="neutral" />
          <bindingRedirect oldVersion="0.0.0.0-3.6.0.0" newVersion="3.6.0.0" />
        </dependentAssembly>
      </assemblyBinding>
    </runtime>
    
  • 验证构建输出目录文件完整性
    在Azure Pipeline的构建步骤后添加临时PowerShell任务,输出构建产物目录的文件列表,确认ExcelDataReader.dll确实被复制到了运行目录,参考命令:
    Get-ChildItem $(Build.SourcesDirectory) -Recurse -Filter "ExcelDataReader.dll" | Select-Object FullName
    
  • 检查Excel文件属性配置
    右键点击项目中的clients.xlsx文件,将属性中的「复制到输出目录」设置为「如果较新则复制」,避免运行时找不到数据源文件。

内容的提问来源于stack exchange,提问作者PriyadarshaniPPatil

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 18:54:03