解决Git分支合并冲突后SSIS包加载失败求助(重复键报错)
Git合并冲突后SSIS包加载报错「An item with the same key is already added」的解决
核心原因
该错误源于Git合并冲突处理后,SSIS项目的XML配置文件(如.dtproj、.dtsx或项目清单)中出现重复节点/键值对,SSIS加载时无法解析重复键。
排查步骤
- 用Git命令定位合并后变更的SSIS相关文件:
git diff --name-only HEAD HEAD~1 - 重点检查以下文件的XML结构:
- 项目主文件:
*.dtproj - 包文件:
*.dtsx - 辅助配置文件:
*.dtproj.user、ProjectItems下的脚本/配置文件
- 项目主文件:
- 在XML中搜索带有
Id、Name属性的节点,或<ConnectionManager>、<Task>、<ProjectItem>等易重复的元素,确认是否存在冲突解决时残留的重复条目。
修复方法
- 手动清理重复XML节点:
- 打开报错的XML文件,定位
<ProjectManifest>(.dtproj中)或包的根节点 - 删除完全重复的节点或键值对,保留一份有效内容
- 保存文件后重新加载SSIS项目
- 打开报错的XML文件,定位
- 若无法定位重复项,回滚到合并前状态后重新手动合并:
逐文件对比分支差异,手动处理冲突,避免自动合并工具破坏XML结构。git reset --hard HEAD~1
预防建议
- 提交SSIS变更前,本地确认项目能正常加载
- 合并分支时,优先手动对比XML文件的差异,避免依赖Git自动合并XML类文件
内容的提问来源于stack exchange,提问作者AAN
相关产品推荐
相关产品推荐

