Azure DevOps测试框架管道报错:找不到指定版本的DataMovement程序集
解决无csproj/web.config的测试框架中Microsoft.WindowsAzure.Storage.DataMovement加载失败问题
针对你在Azure DevOps测试框架管道中遇到的System.IO.FileNotFoundException: Could not load file or assembly 'Microsoft.WindowsAzure.Storage.DataMovement, Version=0.7.0.0'错误,以下是适配无csproj/web.config项目的解决方案:
在Azure DevOps管道中直接安装缺失的NuGet包
添加NuGet安装任务,指定目标包版本并安装到测试框架可访问的目录:- task: NuGetCommand@2 inputs: command: 'install' packagesToInstall: 'Microsoft.WindowsAzure.Storage.DataMovement -Version 0.7.0.0' restoreDirectory: '$(Build.SourcesDirectory)/packages'随后确保测试框架的运行环境能扫描到该
packages目录,可通过设置环境变量(如DOTNET_ADDITIONAL_DEPS针对.NET Core/.NET 5+)或测试框架的命令行参数添加程序集搜索路径。手动复制程序集到测试框架依赖目录
- 本地下载
Microsoft.WindowsAzure.Storage.DataMovement.0.7.0.0NuGet包,解压后提取Microsoft.WindowsAzure.Storage.DataMovement.dll及相关依赖文件。 - 将文件存入代码仓库的指定目录(如
test-dependencies),在管道中用CopyFiles任务复制到测试框架运行时加载目录:- task: CopyFiles@2 inputs: SourceFolder: '$(Build.SourcesDirectory)/test-dependencies' Contents: 'Microsoft.WindowsAzure.Storage.DataMovement.dll' TargetFolder: '$(Agent.ToolsDirectory)/[你的测试框架名称]/bin'
- 本地下载
配置测试框架的程序集搜索路径
多数测试框架支持通过命令行参数或环境变量指定额外程序集路径:- 若使用自定义测试运行器,启动命令添加路径参数:
test-runner.exe --add-assembly-path $(Build.SourcesDirectory)/packages/Microsoft.WindowsAzure.Storage.DataMovement.0.7.0.0/lib/net45 - 针对.NET Core/.NET 5+,设置环境变量
DOTNET_ADDITIONAL_DEPS指向包目录,让运行时自动扫描加载。
- 若使用自定义测试运行器,启动命令添加路径参数:
检查依赖版本冲突
若测试框架通过间接依赖引用该程序集,检查间接依赖的版本是否匹配0.7.0.0,可在管道中添加依赖检查命令:nuget list Microsoft.WindowsAzure.Storage.DataMovement -Source $(Build.SourcesDirectory)/packages若存在版本不一致,调整安装的包版本或排除冲突依赖。
内容的提问来源于stack exchange,提问作者user26558402
相关产品推荐
相关产品推荐

