Azure Devops - SSDT 数据库构建错误 - 写入 model.xml

Azure Devops - SSDT DB build error - writing model.xml

我在 Azure DevOps 中的 SSDT 项目出现以下构建错误:

System.IO.DirectoryNotFoundException: Could not find a part of the path 'd:\a\s\SSDTPROJECTNAME\SSDTPROJECTNAMEobj\Release\Model.xml'.

在构建的早期,它尝试将 Model.xml 文件写入无效路径:

SqlBuild:
  Creating a model to represent the project...
    Loading project references...
    Loading project files...
    Building the project model and resolving object interdependencies...
    Validating the project model...
    Writing model to SSDTPROJECTNAMEobj\Release\Model.xml...

出于某种原因,它无法将我的项目文件夹名称与 obj\Release\Model.xml 连接起来。但是当我在本地构建时,它会将 model.xml 写入有效位置。对于项目文件夹,我使用一个名为 $(projectDir) 的变量设置为我的项目文件夹名称。

我正在使用 VSBuild@1 和 windows-最新的 vmImage。

这是我的任务:

- task: VSBuild@1
  displayName: "Build DB project"
    inputs:
      solution: "$(projectDir)\SSDTPROJECTNAME.sqlproj"
      msbuildArgs: '/p:DeployOnBuild=true /p:WebPublishMethod=Package /p:PackageAsSingleFile=true /p:DeleteExistingFiles=True /p:PackageLocation="$(Build.ArtifactStagingDirectory)\"'
      configuration: "$(BuildConfiguration)"
      clean: true

'projectDir' 变量是 VS Build 的保留关键字。如果您更改为不同的变量应该可以解决问题。

https://docs.microsoft.com/en-us/cpp/build/reference/common-macros-for-build-commands-and-properties?view=vs-2019