MSBuild est-ce que étend les variables d'environnement. $(OGRE_HOME)
devrait fonctionner très bien.
Le seul problème est que Visual Studio met en cache les valeurs de ces variables d'environnement fortement, donc les modifications que vous apportez ne seront pas immédiatement reflétées.
Il y a deux façons générales pour modifier les valeurs des variables d'environnement, et ces deux vont mal avec VS:
Modification des valeurs de la ligne de commande affecte uniquement les applications lancées à partir de la ligne de commande . Comme vous lancez probablement VS à partir d'un raccourci via l'Explorateur, il n'héritera pas des nouvelles valeurs.
La modification des valeurs via les propriétés de l'ordinateur devrait normalement fonctionner car cette boîte de dialogue diffuse a global message indiquant que les variables d'environnement persistantes ont changé. Malheureusement, VS ne semble pas écouter ces messages et mettre à jour son cache.
Mais, le redémarrage (ou vous déconnecter, puis sur) devrait résoudre le problème, car cela provoquera VS pour actualiser les valeurs des variables d'environnement.
Il est également à noter que user macros sont une alternative aux variables d'environnement. VS 2010 fournit un moyen très efficace de les implémenter via le Property Manager. Vous pouvez créer une feuille de propriétés de projet avec vos paramètres, qui peuvent ensuite être attachés à plusieurs projets afin qu'ils héritent tous de ces paramètres. Cela ne fonctionne pas en dehors de VS, mais cela peut être très pratique si vous faites tout votre travail de développement là-bas.
Comme indiqué dans la documentation setx, la nouvelle variable d'environnement ne s'applique pas aux processus existants. –