137 votes

Pourquoi MSBuild recherche-t-il dans C:\ le fichier Microsoft.Cpp.Default.props au lieu de c : \Program Fichiers (x86) \MSBuild ? ( erreur MSB4019)

Lorsque je lance msbuild pour construire un projet vc2010, 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 défini à $(MSBuildExtensionsPath32) \Microsoft.Cpp\v4.0\
  • En exécutant msbuild /verbosity:diag, le système montre que MSBuildExtensionsPath32, MSBuildExtensionsPath64, MSBuildExtensionsPath sont définis comme suit Environnement au début de la construction
  • Le fait de définir MSBuildExtensionsPath32, MSBuildExtensionsPath64, MSBuildExtensionsPath en tant que variables d'environnement dans le shell ne les fait pas apparaître en tant que Environnement au début de la construction

Tentative de correction

  • Désinstallation de .net 4.5, réparation de .net 4.0
  • Définir MSBuildExtensionsPath32, MSBuildExtensionsPath64, MSBuildExtensionsPath dans les variables système.

Il semble que MSBuildExtensionsPath32 ne soit pas défini correctement et que la définition de MSBuildExtensionsPath ne soit pas utile.

SET MSBuildExtensionsPath="C:\Program Files\MSBuild"

Veuillez me faire savoir si vous avez une idée de ce qui bloque le réglage correct de cette variable.

0voto

bomtom Points 55

J'ai eu le problème en appelant msbuild via la ligne de commande et en utilisant Visual Studio 2019.

Ce qui a fonctionné pour moi était d'effacer la variable d'environnement avant d'appeler msbuild :

set VCTargetsPath=
call %ProgramFiles(x86)%/Microsoft Visual Studio/2019/Professional/MSBuild/Current/Bin\msbuild.exe ...

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