Azure DevOps SSIS Build任务构建包部署模型项目未生成dtsconfig文件
解决方案
步骤1:确认dtsconfig文件的项目属性配置
- 打开本地SSIS项目,在解决方案资源管理器中找到
.dtsconfig文件,右键选择「属性」 - 确认复制到输出目录属性设置为
如果较新则复制或始终复制 - 确认生成操作属性设置为
内容 - 将修改后的项目文件提交到代码仓库,保证流水线拉取的代码包含该配置
步骤2:调整SSIS Build Task参数
流水线使用的SSIS Build任务默认不会自动识别部署配置文件,需要主动指定配置文件路径:
- 若使用可视化配置的流水线,找到SSIS Build任务的「配置文件路径」参数,填写dtsconfig文件相对于项目根目录的路径
- 若使用YAML流水线,给SSIS Build步骤添加
configurationFiles参数,示例如下:
- task: SSISBuild@1 inputs: projectPath: '**/*.dtproj' configuration: 'Release' configurationFiles: '**/*.dtsconfig' # 新增该行指定配置文件
步骤3:兼容方案(任务参数不生效时使用)
如果SSIS Build任务存在版本兼容问题,可在构建完成后、发布产物前增加一个PowerShell步骤,自动补全deploymentManifest的配置节点:
# 替换为你实际的deploymentManifest文件路径 $manifestPath = "$(Build.ArtifactStagingDirectory)/bin/Deployment/ETL.deploymentManifest" $xml = [xml](Get-Content $manifestPath -Encoding UTF8) # 替换为你实际的dtsconfig文件名 $configNode = $xml.CreateElement("ConfigurationFile") $configNode.InnerText = "你的配置文件.dtsconfig" $xml.DTSDeploymentManifest.AppendChild($configNode) $xml.Save($manifestPath)
执行该步骤前需提前将dtsconfig文件复制到deployment目录下,和dtsx、manifest文件放在同级目录。
重新触发流水线构建后,检查deploymentManifest文件是否已包含<ConfigurationFile>节点,且产物中存在dtsconfig文件即可。
内容的提问来源于stack exchange,提问作者eherrero
相关产品推荐
相关产品推荐

