Selon Azure Pipeline, .net standard 2 ne serait pas compatible avec .net framework 4.8 ???
Voici une nouvelle plaisanterie d’Azure DevOps (il est très taquin aujourd'hui). Lors d’une build Azure Pipeline, le log fait remonter une erreur étrange : Un projet .net framework 4.8 n’aurait pas le droit de référencer un package nuget .net standard 2.
Bien évidemment, si l’on regarde la documentation, ceci est faux. Pourquoi Azure Pipeline se tromperait-il sur un sujet aussi simple ?
La raison ne se cache pas du côté, Azure DevOps. Le problème est lié à l’outillage installé sur le serveur de build. Celui-ci n’utilise pas forcément une version de nuget compatible avec .net standard. La solution la plus simple consiste donc à ajouter une tâche NuGetToolInstaller@1
. Celle-ci se chargera d’installer la dernière version de nuget, ce qui résout le problème, et évitera les suivants ;).
Ce qui donne :
steps:
- task: NuGetToolInstaller@1
- task: NuGetCommand@2
displayName: 'NuGet restore'
inputs:
restoreSolution: $(solution)
command: restore
- task: DotNetCoreCLI@2
displayName: 'Compilation'
inputs:
command: build
projects: '$(solution)'
arguments: '--configuration $(buildConfiguration)'