升级到.NET 6后Azure DevOps的YAML流水线发布失败如何处理?
解决方案
NETSDK1045错误的核心原因是流水线运行环境默认调用的.NET SDK版本为5.x,不支持.NET 6.0目标框架的构建。
修正步骤
- 第一步:在现有
dotnet publish任务之前,新增UseDotNet@2任务,指定安装.NET 6.x版本的SDK,配置示例如下:
- task: UseDotNet@2 displayName: '安装.NET 6 SDK' inputs: packageType: 'sdk' version: '6.x' installationPath: $(Agent.ToolsDirectory)/dotnet
- 第二步:现有
dotnet publish任务无需大幅调整,如需明确指定构建目标框架,可在arguments参数中追加--framework net6.0,修正后的发布任务参考:
- task: DotNetCoreCLI@2 displayName: 'dotnet publish' inputs: command: publish publishWebProjects: false projects: '**/*.csproj' arguments: '-r linux-x64 --framework net6.0 --output $(build.artifactstagingdirectory)'
可选验证项
- 若使用微软托管的构建代理,请确保代理镜像选用
windows-latest、ubuntu-latest等支持.NET 6的版本,避免使用已废弃的旧版本镜像。 - 若使用自托管构建代理,请确保代理所在机器可以正常访问微软.NET下载源,完成SDK的拉取安装。
内容的提问来源于stack exchange,提问作者Taladan
相关产品推荐
相关产品推荐

