J'ai récemment installé Visual Studio 11 Developer Preview pour l'essayer et, à présent, mes projets VS 2010 ne s'ouvrent pas. Au lieu de cela, je reçois le message d'erreur suivant:
MSBuild ne contient pas de valeur pour la propriété "VCTargetsPath"
J'ai trouvé quelqu'un qui avait signalé le problème ici sur Connect , et la réponse de Microsoft était la suivante:
Publié par Microsoft le 12/12/2011 à 17h25
Salut Afshin,Merci pour les commentaires. Le problème rencontré est résolu pour la prochaine version publique de Visual Studio.
Jim Griesmer
Équipe Visual C++
Fantastique. Alors, comment puis-je restaurer VCTargetsPath pour que mes projets fonctionnent à nouveau?
"VCTargetsPath est une propriété d'ensemble d'outils définie dans HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSBuild\ToolsVersions\4.0."
J'ai parcouru jusqu'à la valeur VCTargetPath dans le registre et elle a la valeur:
$(MSBuildExtensionsPath32)\Microsoft.Cpp\v4.0\
Je ne sais pas où aller d'ici. Aucune suggestion?
Il semble raisonnable que la solution proposée par Gavin Pugh résolve le problème, bien que je ne l'ai pas essayé. J'ai moi aussi rencontré ce problème après la désinstallation de Developer Preview of VS11. Je pense cependant savoir ce qui ne va pas.
Mladen Jankovic était sur la bonne voie. Une des clés de registre (nécessaires) suivantes était manquante sur ma machine:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSBuild\ToolsVersions\4.0
VCTargetsPath
REG_SZ
$(MSBuildExtensionsPath32)\Microsoft.Cpp\v4.0\
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\MSBuild\ToolsVersions\4.0
VCTargetsPath
REG_SZ
$(MSBuildExtensionsPath32)\Microsoft.Cpp\v4.0\
(Vous pouvez modifier les clés de registre dans Windows en tapant + R + regedit + Entrée)
Pour moi, la deuxième valeur que j'ai énumérée ci-dessus était celle qui manquait. Après l'avoir ajouté, j'ai pu travailler à nouveau avec mon projet.
Voici la chose qui m'a trompé:
Modifiez la valeur de registre nommée DefaultToolsVersion
située dans HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSBuild\4.0
de 2.0
à 4.0
. Faites la même chose dans Wow6432Node
aussi.
La méthode d'édition du registre suggérée par "Mladen Jankovic" ne m'a pas fonctionné.
Je viens d'exécuter une réparation sur Visual Studio 2010 (exécutez le fichier setup.exe sur le disque d'installation de VS2010 ou appelez le programme de désinstallation via le Panneau de configuration -> Programmes). Cela a fait l'affaire pour moi.
Vous devez également réexécuter l’installation du SP1.
Pour ce que ça vaut, mes 'add-ins' (y compris Incredibuild) se sont bien comportés après cela. Ils n'ont pas besoin d'être réinstallés ou réparés. L'emplacement de mes paramètres/fenêtre/débogueur a également été conservé.
Apparemment, ce problème ne se présente que si vous désinstallez l’aperçu du développeur de VS11: http://www.gamefromscratch.com/post/2011/12/15/Do-not-remove-Visual-Studio-2011- développeur-preview! .aspx
Pour ceux qui sont ici par recherche google:
Si vous aviez précédemment installé VS 2015 ou une version ultérieure de vs after vs vs1010, puis désinstallé, voici la solution qu'il vous faut.
Dans le message d'erreur ci-dessous:
Impossible d'évaluer l'expression de la propriété "$ ([MSBuild] :: ValueOrDefault ('$ (VCTargetsPath)' ',' $ (MSBuildExtensionsPath32)\Microsoft.Cpp\v4.0\V140\'))"
14.0 est le numéro de version de VS2015. Malheureusement, le programme de désinstallation de VS2015/2012 oublie l'une de ses clés de registre, ce qui provoque cette erreur lorsque vous revenez à VS2010.
Allez dans start/run/regedit>
Chercher HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSBuild\ToolsVersions\14.0 (ainsi que 12.0)
Et
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\MSBuild\ToolsVersions\14.0 (12.0 également)
S'il y a une clé 14.0/12.0 ici, delete it et votre VS2010 fonctionneront de nouveau, espérons-le.
Ugh j'ai finalement trouvé la réponse à cette question, qui ne m'a d'ailleurs pas donné le même message d'erreur - je reçois:
erreur MSB4019: le projet importé "C:\Microsoft.Cpp.Default.props" est introuvable. Confirmez que le chemin dans la déclaration est correct et que le fichier existe sur le disque.
Pour une raison quelconque, cela fonctionnait bien avec les versions 32 bits, mais pas avec les versions 64 bits.
Quoi qu'il en soit, la solution consiste à copier toutes les clés VCTargetPath*
de HKLM\SOFTWARE\Wow6432Node\Microsoft\MSBuild ToolsVersions\14.0
à HKLM\SOFTWARE\Microsoft\MSBuild\ToolsVersions\14.0
. Ils me manquaient.
En fait, je n'ai copié que VCTargetsPath
et VCTargestPath14
car la copie est assez fastidieuse. Cela semble suffisant pour VC++ 2015.
Si vous utilisez VS 2010 SP1, allez à Panneau de configuration | Désinstallez un programme , Désinstallez/Modifiez le VS 2010 SP1 et choisissez Réappliquer SP1. Cela a fonctionné pour moi.
J'ai eu le même problème et j'ai découvert que la balise de jeu d'outils n'était pas définie dans le nœud du projet.
La définition de la version des outils a résolu le problème pour moi
Je suis arrivé ici lorsque j'essayais de construire un projet c ++ sans les outils de génération de c ++ Visual Studio installés. Ma solution consistait à télécharger le programme d'installation Visual Studio Build Tools à partir de la page downloads sous l'onglet "Outils de Visual Studio 2017", en l'exécutant avec les options "Outils de génération Visual C++" et "Outils de génération .NET Desktop.
J'ai utilisé C:\Windows\SysWOW64\regedit.exe et je suis allé à HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSBuild\3.5 et dans le dossier de la version 3.5, la version 2.0 était répertoriée dans la version par défaut, donc je l'ai modifiée en 3.5 et tout fonctionne maintenant.