Team Build – erreur “Task could not find "sgen.exe"”
J’ai récemment activé les builds sur un serveur TFS 2010, hébérgé sur Windows Server 2008 R2 x64. Le projet que je souhaitais compiler est un projet .net 3.5, ce projet a été converti de VS2008 vers VS2010.
Malheureusement, lorsque j’ai lancé ma première build j’ai eu l’erreur suivante :
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Microsoft.Common.targets (2249): Task could not find "sgen.exe" using the SdkToolsPath "" or the registry key "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SDKs\Windows\v7.0A". Make sure the SdkToolsPath is set and the tool exists in the correct processor specific location under the SdkToolsPath and that the Microsoft Windows SDK is installed
Apres quelques recherches, je me suis rendu compte que le problème était assez courant sur le net. J’ai essayé plusieurs solutions sans réel succès.
L’une des solutions couramment proposée est d’installer Visual Studio sur le serveur de build : chose que je ne voulais pas faire.
Afin de corriger le problème, j’ai installé le SDK de Windows 7 et .net 4.0 : Download : Microsoft Windows SDK for Windows 7 and .NET Framework 4.
J’ai installé seulement les outils du SDK (cf capture):
J’ai également installé le SDK de Windows 7 et .net 3.5 SP1, mais je ne pense pas que cela soit utile.
Malheureusement, cela ne suffisait toujours pas.
J’ai alors utilisé l’outil WinSdkVer disponible dans le dossier %ProgramFiles%/Microsoft SDKs/Windows/v7.1/Setup/ .
Attention, si vous lancez cet outil en mode GUI directement depuis l’explorateur, vous aurez l’erreur suivante :
---------------------------
Windows SDK Configuration Tool Error
---------------------------
Your system does not have Visual Studio 2005 or Visual Studio 2008 installed.
---------------------------
OK
---------------------------
Il faut le lancer en ligne de commande :
C:\Program Files\Microsoft SDKs\Windows\v7.1\Setup>WindowsSdkVer.exe -version:v7.1
Désormais, je n’ai plus cette erreur lors d’un build automatique. Merci à Florent pour l’astuce de l’outil en ligne de commande.
Et vous, avez vous rencontré d’autres soucis pour compiler des projets .net 3.5 depuis Team Build 2010 ?