Pourquoi ne MSBuild regarde dans C:\ pour Microsoft.Rpc.Par défaut.accessoires au lieu de c:\Program Files (x86)\MSBuild? ( erreur MSB4019)
Quand je lance msbuild pour construire un vc2010 projet, j'obtiens l'erreur suivante:
error MSB4019: The imported project "C:\Microsoft.Cpp.Default.props" was not found.
Confirm that the path in the <Import> declaration is correct, and that the file exists
on disk.
- msbuild situé c:\Program Fichier (x86)\MSBuild
- HKLM\SOFTWARE\Wow6432Node\Microsoft\MSBuild\ToolVersions\V4.0 VCTargetsPath fixé à $(MSBuildExtensionsPath32)\Microsoft.Rpc\v4.0\
- lors de l'exécution de msbuild /verbosité:diag comme bon système montre MSBuildExtensionsPath32, MSBuildExtensionsPath64, MSBuildExtensionsPath définir comme de l'Environnement au début de l'
- réglage MSBuildExtensionsPath32, MSBuildExtensionsPath64, MSBuildExtensionsPath définir comme les variables d'environnement du shell ne cause pas de leur montrer que de l'Environnement au début de l'
Correctifs Tenté
- Désinstallé .net 4.5, réparé .net 4.0
- Ensemble MSBuildExtensionsPath32, MSBuildExtensionsPath64, MSBuildExtensionsPath dans les variables système.
Il semble que MSBuildExtensionsPath32 n'est pas correctement réglé et réglage MSBuildExtensionsPath n'aide pas
SET MSBuildExtensionsPath="C:\Program Files\MSBuild"
S'il vous plaît laissez-moi savoir si vous avez des idées de ce qu'est le blocage de la bonne configuration de cette variable.
- Super! Une autre question à propos d'une erreur résultant d'un corrompu d'installation de Visual Studio avec des centaines de solutions de contournement que chacun ne fonctionnent que dans une sélection de quelques-uns des scénarios...
Vous devez vous connecter pour publier un commentaire.
J'ai eu ce problème lors de la publication de cocos2d-x application à l'aide de leur outil de ligne de commande, qui appelle MSBuild. Je suis sous Win 7 64 bits, VS2013 express, cocos2d-x version 3.3, .NET Framework 4.5 est installé.
J'ai résolu le problème en définissant les éléments suivants avant d'exécuter l'cocos.py la commande de publication:
V120
à la fin a fait le tour![Environment]::SetEnvironmentVariable("VCTargetsPath", "C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140", "Machine")
Pour ceux qui n'ont pas suivi le MME interdits de l'ordre (voir Xv de la réponse) vous pouvez toujours corriger le problème.
MSBuild utilise le
VCTargetsPath
à localiser par défaut du rpc propriétés, mais ne peut pas parce que le registre manque de cette Chaîne de Valeur.Vérifier la Chaîne de Valeur
HKLM\SOFTWARE\Microsoft\MSBuild\ToolsVersions\4.0
VCTargetsPath
clé. La valeur doit = "$(MSBuildExtensionsPath32)\Microsoft.Cpp\v4.0\
"De fixer
HKLM\SOFTWARE\Microsoft\MSBuild\ToolsVersions\4.0
VCTargetsPath
$(MSBuildExtensionsPath32)\Microsoft.Cpp\v4.0\
"Remarque:
HKLM
signifieHKEY_LOCAL_MACHINE
.set VCTargetsPath=c:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0
VCTargetsPath=c:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\v120
VCTargetsPath
dansHKLM\SOFTWARE\Microsoft\MSBuild\ToolsVersions\12.0
HKEY_LOCAL_MACHINE
vous devez absolument avoir dans regeditset VCTargetsPath=c:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\v140
C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\v140
J'ai eu le même problème récemment et après l'installation des différents paquets dans un ordre différent, il était juste en train de très salissant. Ensuite, j'ai trouvé ce repo - https://github.com/felixrieseberg/windows-build-tools
npm install --global windows-build-tools
Il installe Python & VS Construire des outils qui sont nécessaires pour la compilation de la plupart nœud de modules. Il a travaillé un régal!
--production
option.npm install --global --production windows-build-tools
Que par le nœud-gyp instructions d'installation: github.com/nodejs/node-gypInstallation Microsoft Visual C++ 2010 Service Pack 1 Compilateur mise à Jour pour Windows SDK 7.1 fixe le
MSB4019
les erreurs que j'ai été s'appuyant sur Windows7 x64.Le fichier readme de la mise à jour indique que la commande est
Sur les systèmes 64 bits, MSBuild les valeurs par défaut pour les propriétés suivantes (où C: est SystemDrive):
Si ce n'est pas, cela signifie que soit vous avez coutume de tiers remplace cibles installé, ou votre MSBuild installation est endommagé.
Choses à essayer:
MSBuildExtensionsPath
manuellement comme ci-dessus (note de l'x86
partie sur les ordinateurs 64 bits)Pour Visual Studio 2017 et 2019 sur Windows 10
Un grand nombre de réponses ici s'appliquer à d'anciennes versions de Visual Studio. Ce qui a fonctionné pour moi, si vous utilisez Visual Studio 2017 version Communautaire, a été paramètre une variable d'environnement appelée
VCTargetsPath
et de lui donner une valeur deSi vous utilisez Visual Studio 2019 version Communautaire,
D'autres réponses ici de définir cette variable à
c:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\v140
mais j'ai remarqué dans mon installation de visual studio, il n'y a pas de dossier appelé Microsoft.Cpp dans mon MSBuild dossier. Donc gardez cela à l'esprit ainsi que le fait que le chemin d'accès ci-dessus est pour la Communauté de la version de Visual Studio 2017.Aussi, assurez-vous que votre MSBuild chemin d'accès à vos variables d'environnement points à la version correcte de MSBuild si vous utilisez Visual Studio 2017 version Communautaire,
Si vous utilisez Visual Studio 2019 version Communautaire,
J'ai eu ce problème sur Visual Studio 2015 édition. Lorsque j'ai utilisé cmake pour générer un projet d'une telle erreur est apparu.
erreur MSB4019: Le projet importé "D:\Microsoft.Cpp.Default.props" n'a pas été
trouvé
J'ai corrigé par l'ajout d'une Chaîne de
avec la valeur
dans le chemin d'accès du registre
MSBuild dans une compilation indépendant outil qui est souvent regroupés avec d'autres outils. Il peut avoir été installé sur votre ordinateur .NET (anciennes versions), Visual Studio (les versions plus récentes), ou encore de Team Foundation Build.
MSBuild besoins des fichiers de configuration, des compilateurs, etc (un jeu d'Outils) qui correspond à la version de Visual Studio, TFS qui va l'utiliser, ainsi que la version de .NET contre dont le code source sera compilé.
En fonction de la façon dont MSBuild est installé, les fichiers de configuration peuvent être dans l'un ou plusieurs de ces chemins.
Comme décrit dans les autres réponses, un élément de registre et/ou variable d'environnement au point de l'ensemble d'Outils chemin.
HKLM\SOFTWARE\Microsoft\MSBuild\ToolsVersions\4.0
Parfois, une opération comme l'installation d'un outil de quitter le registre et/ou variable d'environnement définie de manière incorrecte. Les autres réponses sont toutes des variations sur les fixant.
La seule chose que j'ai à ajouter, c'est la variable d'environnement n'a pas fonctionné pour moi, quand j'ai laissé la fuite \
Rien d'autre n'a fonctionné pour moi, sauf, définir le chemin d'accès comme:
Les entrées de registre pour MSBuild clé a bien fonctionné pour moi. Il est important de se rappeler qu'il doit être fait pour 64-bits ou 32-bits branches selon la version de MSBuild vous exécutez. Je ne recommande pas d'utiliser des variables d'environnement, car il peut causer des problèmes dans les différentes versions de MSBuild.
Ce fichier de registre des correctifs pour les deux cas:
Installation Microsoft Visual C++ 2010 Service Pack 1 Compilateur mise à Jour pour Windows SDK 7.1 a fonctionné pour moi. Cependant, j'ai connu des problèmes avec la mise à jour car j'ai déjà eu par rapport à 2010 et visual studio 2010 SP1 est installé. Comme mentionné par
Xv ci-dessus, le readme.htm fichier contient des solutions pour la plupart des problèmes d'installation courants dans la section "Problèmes Connus". Je voudrais suivre les instructions de l'readme.htm et redémarrez votre ordinateur après chaque dépannage tentative, parce que certains s'installe écrire à votre registre.
Je suis tombé sur cette erreur en écrivant un script de compilation qui mettrait MSBuild sur la variable %PATH% après récursive de creuser par le biais de la C:\Windows\Microsoft.NET dossier pour toute trouvée MSBuild.exe les fichiers. Le dernier trouvé hit a été le répertoire qui a été mis sur le chemin. Depuis le
dir
commande de frapper laFramework64
dossier aprèsFramework
j'ai été l'une des 64 bits MSBuilds mis sur mon chemin. J'étais en train de construire un Visual Studio 2010 de la solution et à la liquidation de modifier ma chaîne de recherche deC:\Windows\Microsoft.NET
àC:\Windows\Microsoft.NET\Framework
de sorte que je le vent avec un 32 bits MSBuild.exe. Maintenant mon fichier de solution s'appuie.J'ai juste ajouté
VCTargetsPath={c:\...}
comme une variable d'environnement pour ma Hudson travail.Pour l'enregistrement, le fichier
Microsoft.Cpp.Default.props
pouvez modifier l'env varVCTargetsPath
et effectuer par la suite des usages du var incorrect.J'ai eu ce problème et résolu par la mise en
VCTargetsPath10
etVCTargetsPath11
à la même valeur queVCTargetsPath
.Cela devrait être adaptée en fonction de la VS la version que vous utilisez.
Je le vois dans un VS2017 de l'environnement. Mon script de génération des appels
VsDevCmd.bat
d'abord, et pour résoudre ce problème, j'ai mis leVCTargetsPath
variable d'environnement aprèsVsDevCmd
et avant l'appel de MSBuild:Cela est dû à une incompatibilité de installé MSBuild outils et les paramètres du registre. Cela peut arriver si vous avez un ou plusieurs des éléments suivants:
La seule solution sûre et fiable est de réinstaller votre système d'exploitation. Si votre projet a besoin de plusieurs versions de Visual Studio pour construire, installer le version la plus ancienne première. Ensuite corriger votre code de sorte que vous pouvez utiliser un seul outil pour la construire, ou de vous ou de vos collègues sont dans la même galère bientôt.
Si ce n'est pas une option pour vous, lisez d'abord https://stackoverflow.com/a/41786593/2279059 pour une meilleure compréhension du problème et de ce que les diverses "solutions" en réalité. Ensuite, selon votre version de Visual Studio et de la configuration, l'un de l'autre, des réponses ou des variations de ceux-ci peut éventuellement aider.
Quelques conseils en plus: