首页 > 解决方案 > Azure Devops - SSDT DB 构建错误 - 写入 model.xml

问题描述

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

System.IO.DirectoryNotFoundException: Could not find a part of the path 'd:\a\1\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

标签: visual-studioazure-devopssql-server-data-toolsssdt-2019

解决方案


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

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


推荐阅读