You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

从Azure DevOps构建SSIS项目时找不到DEV.dtproj文件的问题求助

问题:Azure DevOps SSISBuild任务找不到DEV.dtproj文件

问题描述

在Azure DevOps中协助构建部署SSIS项目时,SSISBuild任务成功构建了<someproject>.dtproj,但随后尝试寻找不存在的<someproject>DEV.dtproj文件并报错。

YAML任务配置

- task: SSISBuild@1
  inputs:
    projectPath: '$(Build.SourcesDirectory)/<projectname>'
    stripSensitive: false
    outputPath: '$(Build.ArtifactStagingDirectory)\<projectname>'

错误日志

06/12/2024 16:20:29 Build project <Build.SourcesDirectory>\obj\Development\<someproject>.dtproj successfully.

06/12/2024 16:20:29 Start to build project <Build.SourcesDirectory>\obj\Development\<someproject>DEV.dtproj

##[error]06/12/2024 16:20:29 Could not find file <Build.SourcesDirectory>\obj\Development\<someproject>DEV.dtproj.

原因分析

  1. 配置名称拼接错误:SSIS项目可能存在名为DEV的构建配置,任务错误地将配置名称直接追加到项目文件名后,生成了不存在的<someproject>DEV.dtproj文件路径。
  2. projectPath参数指向问题:当前projectPath指向项目文件夹而非具体的.dtproj文件,任务可能在遍历过程中误判了目标文件。
  3. 路径格式不一致:YAML中混用了斜杠/和反斜杠\,可能导致路径解析异常。

解决建议

  • 修正projectPath指向具体文件:将projectPath改为指向实际的.dtproj文件,而非文件夹:
    projectPath: '$(Build.SourcesDirectory)/<projectname>/<someproject>.dtproj'
    
  • 显式指定构建配置:在任务中添加configuration参数,指定正确的配置名称(比如日志中出现的Development),避免任务自动拼接错误文件名:
    - task: SSISBuild@1
      inputs:
        projectPath: '$(Build.SourcesDirectory)/<projectname>/<someproject>.dtproj'
        configuration: 'Development'
        stripSensitive: false
        outputPath: '$(Build.ArtifactStagingDirectory)/<projectname>'
    
  • 检查SSIS项目配置:在Visual Studio中打开项目,右键项目→属性→配置属性,确认DEV配置的输出设置是否正确,是否存在多余的项目文件变体。
  • 验证文件结构:在SSISBuild任务前添加命令行任务,列出项目目录下的文件,确认.dtproj文件的实际名称和位置:
    - task: CmdLine@2
      inputs:
        script: |
          dir $(Build.SourcesDirectory)/<projectname> /s
    

内容的提问来源于stack exchange,提问作者user18610347

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.22 12:37:18