Thanks @Anna Xiu-MSFT , I've posted the same (+ logs and minor updates) on Developer Community
.sqlproj with Deployment Contributor fails to build on build server with error "Required contributor with id '...' could not be loaded"
I'm failing to build an SSDT (.sqlproj) project on a new build server that we plan to use for our CI/CDs. This project uses a deployment contributor. The build fails with the known error "Build error : Required contributor with id '...' could not be loaded"
This error happens only with the CI/CD pipeline. I can log into the build server with my own account, launch Visual Studio and build the same code, it just works.
I can't create a log using logman because the logman providers for SSDT (Microsoft-SQLServerDataTools and Microsoft-SQLServerDataToolsVS) are missing.
I'm running out of options and some help would be welcome!
Here is the technical context:
- Build server running Windows Server 2019 Datacenter
- Visual Studio 2022 Professional (utimately I would rather use Build Tools than Professional but we are not there yet), version 17.2.6, workloads CoreEditor, Data and ManagedDesktop, with all recommended components.
- We deploy on G: drive, under a custom folder: G:\alm-tools\VisualStudio\2022 (company requirement - installation is scripted)
- So our contributor assembly is copied to G:\alm-tools\VisualStudio\2022\Common7\IDE\Extensions\Microsoft\SQLDB\DAC\Extensions
- The service account that we use in our CI/CD pipelines has access to this folder
- This is the YAML that we use to build our Databases:
- task: VSBuild@1
displayName: 'Build solution **/$(SolutionName)'
inputs:
solution: '**/$(SolutionName)'
vsVersion: 17.0
msbuildArgs: '/p:BuildInParallel=false /p:IsDesktopBuild=false /p:GenerateProjectSpecificOutputFolder=true /p:OutDir=$(Build.BinariesDirectory)\$(DatabaseBuildOutDir) /nr:false /p:CmdLineInMemoryStorage=true /p:DebugType=None /p:DebugSymbols=false'
platform: '$(BuildPlatform)'
configuration: '$(BuildConfiguration)'
clean: true
msbuildArchitecture: x64
continueOnError: true
Any help would be appreciated! Thanks in advance,
Michel