Question

J'essaie de créer un nouveau projet C ++ dans VS 10, et je ne peux même pas obtenir de projet vide pour charger du modèle.Je reçois une erreur ...

La fonction "Existe" n'accepte qu'une valeur scalaire mais son argument "$ (userrootdir) \ microsoft.cpp. $ (plate-forme) .User.props" Évalue à "{~}" qui n'est pas une valeur scalaire.

La valeur {~} est ce que j'ai stocké dans la variable localAppData dans les variables d'environnement informatique, concaténée avec "\ Microsoft \ msbuild \ v4.0 \ microsoft.cpp.win32.user.props" à la fin.

Je suis réticent à aller changer de fichiers de modèle sans comprendre ce qui se passe.

Était-ce utile?

La solution 2

Les liens fournis par @mihai ont donné les informations dont je devais trouver une solution.Le problème était que LocalAppData n'avait pas la valeur qu'elle recherchait (juste ce que dit le message d'erreur).Je ne pouvais pas changer ces données car d'autres applications l'avaient modifiée à leurs propres fins (la valeur n'était pas "~", c'était un espace réservé à cet article).

Au lieu de cela, j'ai ouvert le fichier .vcxproj dans le Bloc-notes et modifié les nœuds d'importatgroup causant l'erreur.Au lieu de l'attribut:

Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')"

... il lit maintenant

Condition="exists('$(UserProfile)\Local Settings\Application Data\Microsoft.Cpp.$(Platform).user.props')"

Le projet est maintenant chargé.

Autres conseils

Eh bien, il semble que Windows XP ne fournisse aucune valeur par défaut de cette variable et "~" n'est définitivement pas un répertoire valide sur votre PC.Essayez de le définir comme décrit ici ,Et peut-être que vous aurez de la chance.Vs2010 avait Quelques bugs liés à cela.Peut-être avez-vous également besoin de la mettre à niveau vers SP1.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top