本地Azure DevOps 2019构建.Net 6解决方案所需配置咨询
Azure DevOps Server 2019 适配.NET 6构建及多版本兼容实操说明
1. .NET 6构建支持性及前置配置
Azure DevOps Server 2019 原生支持.NET 6项目的构建,不需要升级服务端版本,所有配置调整仅需在执行生成任务的代理节点完成:
- 必须在生成代理上安装Visual Studio 2022,或单独部署.NET 6 SDK及对应版本的MSBuild编译工具。优先选择安装VS2022的方案,可同时覆盖后续.NET Framework 4.x的编译需求,减少后续组件补装成本。
- 需将代理上的
NuGet.exe升级至5.9及以上版本,Azure DevOps 2019自带的旧版NuGet无法识别.NET 6的SDK风格项目格式,会出现依赖还原失败的问题。 - 服务端不需要安装任何额外补丁或扩展,配置完代理即可正常调度.NET 6相关的生成任务。
2. 现有GUI生成管道的调整要求
当前使用的无复杂逻辑的GUI格式管道无法直接兼容.NET 6构建,仅需对任务参数做最小调整,不需要重构管道、也不需要转成YAML格式:
- NuGet还原步骤:将任务使用的NuGet版本切换为代理上部署的5.9+版本,若当前使用的是旧版NuGet Installer任务,替换为官方的NuGet Restore任务即可,原有还原路径、源配置都可以直接保留。
- 解决方案编译步骤:将VSBuild/MSBuild任务的Visual Studio版本选项从原有的
VS 2019切换为VS 2022,原有的平台、配置参数(如Release、Any CPU)、输出路径配置都不需要修改。 - 单元测试步骤:将VSTest任务的测试执行器版本切换为适配VS2022的版本,或直接选择「使用最新可用版本」,原有测试程序集匹配规则、过滤条件都可正常生效。
- NuGet打包推送步骤:同样将任务调用的NuGet版本切换为5.9+,避免出现.NET 6目标框架识别错误导致的打包失败。
3. .NET 4.x与.NET 6双版本共存构建方案
不需要单独搭建两套生成环境,单代理节点即可同时支持两类项目的正常构建,配置要点如下:
- 生成代理可选择同时保留VS2019和VS2022,也可以仅安装VS2022。仅安装VS2022时,需要在安装过程中勾选「.NET 桌面开发」工作负载,并在单个组件列表中勾选团队所有在用的.NET 4.x目标框架 targeting pack(比如.NET 4.0、4.6.2、4.8等实际用到的版本),VS2022可完美兼容编译所有.NET 4.x项目,不会出现语法或依赖识别问题。
- 不同版本的项目管道单独指定编译工具版本即可:保留的.NET 4.x项目管道可以继续选择VS2019作为编译工具,也可以在测试验证通过后切换到VS2022,不需要强制修改现有稳定运行的旧管道;.NET 6项目的管道统一选择VS2022作为编译工具。
- 不要修改代理节点的全局环境变量硬指定MSBuild或NuGet的固定路径,保持任务自动匹配版本的默认配置即可,避免旧管道调用错误版本的工具导致构建失败。
- 建议先挑选1-2台代理节点完成VS2022和高版本NuGet的部署,分别跑通.NET 4.x和.NET 6的测试管道验证兼容性,再批量给所有代理节点升级,整个过程不会影响现有正在运行的生成任务。
内容的提问来源于stack exchange,提问作者Andrew Stephens
相关产品推荐
相关产品推荐

