我在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: "SSDTPROJECTNAME\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的保留关键字。如果更改为其他变量,则应解决此问题。