为何Azure Pipelines未按global.json要求安装正确.NET SDK版本?
问题原因与解决方案
问题分析
你的global.json里配置的rollForward: "latestFeature"确实是要求使用不低于8.0.301的8.0.x系列最新特性版本,但Azure Pipeline的UseDotNet@2任务默认不会自动读取并遵循global.json中的rollForward策略——它默认只会匹配global.json里指定的精确版本(也就是8.0.301),不会主动去拉取更高的兼容版本。
解决办法
修改你的UseDotNet@2任务配置,显式添加rollForward参数,让任务遵循你设定的版本滚动策略:
- task: UseDotNet@2 displayName: "Install .NET SDK" inputs: packageType: sdk useGlobalJson: true rollForward: "latestFeature" # 新增这个参数,和global.json策略保持一致
这样任务就会根据global.json指定的基础版本,自动拉取符合latestFeature规则的最新可用版本(比如8.0.302)。
如果需要确保只获取稳定版(排除预览版),可以额外添加includePreviewVersions: false参数:
- task: UseDotNet@2 displayName: "Install .NET SDK" inputs: packageType: sdk useGlobalJson: true rollForward: "latestFeature" includePreviewVersions: false
内容的提问来源于stack exchange,提问作者S. ten Brinke
相关产品推荐
相关产品推荐

