Que dois-je installer pour un projet C++ / VS 2013 sur TeamCity serveur ou Service Team Foundation Build?
Je suis tenter de construire un projet C++ dans Visual Studio 2013 solution sur TC 8.0.6 (build 27767).
J'ai installé la dernière MSBuild "Microsoft Outils de construction 2013" choses " (qui est normalement installé dans le cadre de VS 2013 installer) directement sur le serveur.
Mais j'obtiens l'erreur suivante:
[17:05:23]VCTargetsPath is c:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\
[17:05:23]PlatformToolset is v120
[17:05:23]VCMessage
[17:05:23]c:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Platforms\Win32
Microsoft.Cpp.Win32.Targets(512, 5): error MSB8008: Specified platform toolset (v120) is not installed or invalid. Please make sure that a supported PlatformToolset value is selected.
[17:05:23]Project MyCppProject\smCpp.vcxproj failed
Aussi loin que je peux voir, j'ai tout ce dont j'ai besoin et j'ai essayé différents hacks pour l'ensemble de la PlatformToolset à v110 etc., mais cela ne fonctionne pas non plus.
À ce stade, je voudrais vérifier exactement ce dont j'ai besoin pour l'installer sur le serveur de build. Quelqu'un peut-il préciser si j'ai besoin de quelque chose de supplémentaire, s'il vous plaît?
Merci beaucoup
Brian
la recherche sur ce a noté un commentaire à la réponse sur @Wimmel 'lien ci-dessus
Vous devez installer le kit de développement logiciel Windows pour la version du compilateur.
Oui Ade Miller, j'ai essayé et puis progressivement installé les composants supplémentaires jusqu'à une complète VS 2013 installer sur notre maison TeamCity environnement de compilation et cela ne fonctionne toujours échoue de la même manière. J'ai aussi testé un par rapport à 2010, 2012 et 2013 (multiples .Net FX cibles) projet C++ dans le visualstudio.com service de build et observé les mêmes échecs de 2013 dans le des projets.
OriginalL'auteur Redeemed1 | 2014-02-04
Vous devez vous connecter pour publier un commentaire.
En fin de compte, vous devez définir le chemin d'accès correct à MSBuild. Avec VS 2013, de construire, de l'outillage est devenu une partie de VS plutôt que .FILET de version 12.0 au lieu de 4.0. Le chemin d'accès par défaut dans ce cas est:
"C:\Program Files (x86)\MSBuild\12.0\bin"
Si la team foundation build est cassé, alors c'est probablement à cause de la TF serveur n'est pas sur la version 2013. Pour résoudre le problème, vous devez faire vous-même une copie du modèle de construction de la définition de build utilise (en supposant que votre version est >= 2010 et < 2013) et le point le bon outillage dossier. La construction de modèles se trouvent dans le chemin d'accès source:
$/YourTeamProjectName/BuildProcessTemplates
Si vous pouvez modifier le modèle dans Visual Studio, vous ouvrez le Flux de travail de conception de la Fondation de la surface. De là, trouver la Exécuter MSBuild pour Projet tâches (remarque: dans le modèle par défaut il n'y a plus d'un, mais j'ai montré une photo de ce qu'il faut chercher) et de modifier la trajectoire de l'outil à la propriété au-dessus de chemin.
Une fois que vous avez créé le modèle que vous avez besoin de changer votre définition de build à utiliser le nouveau modèle.
Pour TeamCity, vous devez définir la MSBuild ToolsVersion à la version 12.0 de votre étape de génération. Je ne suis pas certain de la version de TC de support pour la version 12.
Au début, cela n'a pas fonctionné pour moi jusqu'à ce que j'ai trouvé qu'il y a deux endroits dans notre modèle que nous appelons MSBuild. J'ai mis les deux, alors j'ai aussi mis "Trajectoire" en vertu de la définition de build, Processus de section 4.0 section Divers "C:\Program Files (x86)\MSBuild\12.0\Bin". Je ne suis pas sûr si cela fait une différence, mais mettre les deux MSBuilds et qui m'a permis de sortir des mauvaises herbes!
OriginalL'auteur Christian Maslen