.NET 6集成测试在Azure DevOps管道报错:找不到指定运行时版本
.NET Framework 4.8集成测试项目迁移至.NET 6后Azure DevOps管道执行报错
我将一个集成测试项目从.NET Framework 4.8迁移至.NET 6,本地开发机运行正常,但在Azure DevOps发布管道中使用Visual Studio Test任务执行时,出现如下错误:
HTTP Error 500.31 - ANCM 未能找到本机依赖项。
未找到指定版本的 Microsoft.NetCore.App 或 Microsoft.AspNetCore.App。
已尝试的解决方案
- 通过Use .NET Core任务安装了.NET 6 Core运行时
- 添加控制台选项强制指定运行时版本,项目配置为Any CPU,控制台选项如下:
/Platform:x64 /Framework:.NetCoreApp,Version=v6.0 /logger:trx;LogFileName=netcore-results.trx - 但执行后错误仍未解决
可能的排查方向
- 确认Azure DevOps代理机器安装的是ASP.NET Core 6.0运行时:ANCM错误关联ASP.NET Core组件,仅安装.NET Core运行时可能不足以满足依赖
- 对齐测试任务与控制台选项的架构:确保Visual Studio Test任务的"测试架构"设置为x64,和控制台选项中的
/Platform:x64保持一致 - 检查测试项目配置:打开项目.csproj文件,确认已正确设置
<TargetFramework>net6.0</TargetFramework>,清理掉所有.NET Framework相关的遗留配置(如<TargetFrameworkVersion>v4.8</TargetFrameworkVersion>) - 验证测试任务的工作目录:确保任务指向的是.NET 6编译后的输出目录,避免加载到旧的.NET Framework编译产物
- 尝试替换为
dotnet test命令:在管道中使用dotnet test任务替代Visual Studio Test任务,执行命令:dotnet test --framework net6.0 --logger "trx;LogFileName=netcore-results.trx"
内容的提问来源于stack exchange,提问作者sudheer kumar
相关产品推荐
相关产品推荐

