2012-10-17 4 views
0

J'ai un extrait cible MSBUILD qui a quelque chose comme ci-dessous pour exécuter une application externe:MSBuild Program Files Environnement Variable Cross Platform?

<Exec Command="&quot;C:\Program Files\dir\do.exe....&quot;" /> 

Il fonctionne très bien sur une machine x86, mais bien sûr, il a éclaté lors de l'exécution sur un système x64, car le chemin d'accès doit être "Program Files (x86)". Quelle est la bonne façon de gérer le cheminement d'une manière multiplateforme pour les fichiers de construction?

Merci.

+0

Avez-vous essayé d'employer une variable d'environnement pour cela? – Romeo

Répondre

1

Lire ceci:

http://social.msdn.microsoft.com/Forums/en/msbuild/thread/261edf66-c16d-4be0-995f-5f1edc2ac7b6

montre que la mise en une variable et faire ensuite une dérogation fonctionnera. J'expérimente avec ceci et il semble fonctionner:

<PropertyGroup> 
    <properPath>c:\program files\etc...</properPath> 
    <properPath Condition="'$(PROCESSOR_ARCHITECTURE)'=='AMD64' or '$(PROCESSOR_ARCHITEW6432)'=='AMD64'">c:\program files (x86)\etc...</properPath> 
</PropertyGroup> 
Questions connexes