Ich verwende schon länger die Azure DevOps Build Pipeline zum bauen meiner List&Label Projekte. Die Sache ist im Prinzip ganz einfach zu lösen:
Ich habe mir ein eigenes Repo für die Redistribution Files angelegt. Dieses enhält ein Ordner Redistribution und darin die Ordner x86 bzw x64 analog der LL Installation. in meinem Fall habe ich dort nur die x64 Files liegen mit den selektierten Files die ich tatsächlich für den Build benötige.
In meiner Yaml-Build-Datei für mein eigentliches Server-Projekt checke ich noch zusätzlich dieses Repo mit den Redistribution-Files aus. Beim Build Prozess setze ich nun die Varable LLInstallPath als Build Parameter auf das Hauptverzeichnis des ausgecheckten Redistribution-Repos. Damit kann der Build Prozess die benötigten Dateien laden:
# LLInstallPath
llInstallPath: '$(Build.SourcesDirectory)/LLRedistribution/'
[...]
resources:
repositories:
- repository: ListLabelRedistribution
type: github
endpoint: 'YourEndpoint'
name: yourcompany/LLRedistribution
[...]
steps:
- checkout: ListLabelRedistribution
[...]
- task: DotNetCoreCLI@2
displayName: Build
inputs:
command: 'build'
projects: $(projectPathServer)
arguments: '--configuration $(buildConfiguration) --no-restore -p:LLInstallPath=$(llInstallPath)'
- task: DotNetCoreCLI@2
displayName: Publish
inputs:
command: 'publish'
projects: $(projectPathServer)
publishWebProjects: false
arguments: '--configuration $(buildConfiguration) --no-restore --output $(build.artifactstagingdirectory) -p:LLInstallPath=$(llInstallPath)'