Azure DevOps中DotNetCoreCLI@2还原任务因NuGet.Config XML报错
问题原因分析
XML解析规则校验冲突:NuGet.Config是标准XML格式,尽管XML元素名称允许包含
@字符,但.NET7配套的高版本NuGet(DotNetCoreCLI@2默认绑定对应SDK的NuGet版本)在解析包源名称时,会将@识别为XML属性的特殊标识符(XML中属性以@前缀标记,如@value),导致解析包源节点时出现语法混淆,直接判定XML文件无效。新版本工具的校验严格性:升级到DotNetCoreCLI@2后,任务使用的NuGet版本远高于旧流水线版本,新版本对NuGet.Config的XML语法校验更严谨。旧版本NuGet可能容忍名称中的
@字符,但新版本严格遵循XML解析规范,触发了无效XML的报错。NuGetAuthenticate@1的适配问题:添加NuGetAuthenticate@1任务后,该任务在处理含
@的包源名称时,会错误地生成格式异常的XML节点(比如误将@作为属性前缀插入配置内容),不仅没解决问题,反而进一步破坏了NuGet.Config的XML结构,导致报错持续。注释掉该包源后,配置文件恢复合法XML结构,restore任务自然正常运行。
内容的提问来源于stack exchange,提问作者Kirsten
相关产品推荐
相关产品推荐

