117 votes

L'équipe de la ville de besoins non satisfaits exigence: MSBuildTools12.0_x86_Path existe

J'ai un TeamCity installer sur x32 Server 2008, windows de la machine. J'ai couru l' .net 4.5 web installer. J'ai également copié les fichiers à partir de ma machine x64 fondées sur le présent article pour que je n'ai pas besoin de l'installer vs2012 (quoique, j'ai eu à le modifier le chemin d'accès pour supprimer x86 sur la machine 32 bits):

MSBuild dans TeamCity de Visual Studio 2012 solution

Je n'arrive pas à obtenir de l'agent local pour exécuter le build que j'ai configuré pour msbuild sur un vs2012 ou vs2010 projet. Je reçois:

Non satisfait les exigences: MSBuildTools12.0_x86_Path existe

J'ai redémarré le serveur plusieurs fois, et au redémarrage de l'agent. J'ai essayé de jouer avec les variables de chemin d'accès un peu, mais ne peut pas comprendre ce que je suis absent. J'ai regardé aussi bien dans les Paramètres de Configuration, et peut voir ces:

MSBuildTools2.0_x86_Path C:\Windows\Microsoft.NET\Framework\v2.0.50727

MSBuildTools3.5_x86_Path C:\Windows\Microsoft.NET\Framework\v3.5

MSBuildTools4.0_x86_Path C:\Windows\Microsoft.NET\Framework\v4.0.30319

Comment puis-je obtenir 12.0 là?

148voto

jmw Points 583

J'ai besoin d'installer MSBuild séparément, puis après le redémarrage de l'agent de la variable y était.

(À partir de l'article MSDN) MSBuild est maintenant installé en tant que partie de Visual Studio plutôt que dans le cadre de l' .NET Framework. L'actuel MSBuild numéro de version 12.0. Si vous souhaitez installer MSBuild séparément, téléchargez le package d'installation à partir de MSBuild Télécharger.

http://msdn.microsoft.com/en-us/library/vstudio/hh162058(v=vs. 120).aspx

33voto

Harper Shelby Points 13395

Un peu de retard de réponse, mais si votre projet est de VS 2012, et vous êtes à l'aide de la autodétecté fichier solution de l'étape de génération, l'édition de cette étape et choisir "Microsoft Visual Studio 2012" de la "Visual Studio" déroulant, résout ce problème (et, à mon humble avis, plus correctement).

18voto

J'ai eu le même problème et à la fin il s'est avéré que mon défini étape de génération d'exécuter MSBuild est mal configuré.

Dans mon MSBuild étape de génération le paramètre "MSBuild ToolsVersion" s'est établi à 12,0 (par défaut), qui conduisent à l'erreur "non satisfait les exigences: MSBuildTools12.0_x86_Path existe" sur mon système. Parce que je n'ai pas besoin de la nouvelle MSBuild 12.0 mon build, j'ai changé ce paramètre à 4,0 dans mon étape de génération. Cette MSBuild version est correctement installé sur mon système. Cela a résolu le problème pour moi.

10voto

Robert Hardy Points 48

Je suis aussi un peu en retard à la fête, mais je pensais que je voudrais partager ce qui suit dans le cas où il aide un pauvre âme.

  • J'ai eu l'erreur mentionnée ci-dessus sur une nouvelle installation de TeamCity 8.1.4 sur un nouveau Windows Server 2012 R2 boîte
  • Suivi les instructions de ce thread et l'erreur est toujours apparu malgré de nombreuses redémarre et réinstalle.
  • J'ai remarqué que l'agent des renseignements tels que des OS et de la CPU n'a pas été figurant sur l'agent de la page des détails. Ceci indique que le problème n'était pas avec le .NET et MSBUILD conditions préalables, mais ont plutôt liées à l'agent de service de ne pas être capable de lire des infos sur la machine.
  • L'agent exécute sous un compte utilisateur (avec toutes les autorisations nécessaires selon la TeamCity de la documentation). Mais j'ai pensé que j'allais voir ce qui se passerait si je suis allé dans Outils d'administration > Services et changé le Connecter à un compte système Local.
  • Redémarré le service de l'agent.
  • Le plus grand succès.

8voto

Steve Bering Points 46

MSBuild est maintenant une partie de Visual Studio. Si vous avez besoin d'installer les outils de construction de votre agent, mais vous ne voulez pas installer VS, vous aurez besoin d'installer le nouveau Microsoft Outils de construction qui est disponible sur http://www.microsoft.com/en-us/download/details.aspx?id=40760.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X