MSBuild Программные файлы Переменная среды Кросс-платформенная?
У меня есть целевой фрагмент MSBUILD, который имеет что-то вроде ниже для выполнения внешнего приложения:
<Exec Command=""C:\Program Files\dir\do.exe...."" />
Он отлично работает на компьютере с архитектурой x86, но, конечно, он не работает при работе на системе с архитектурой x64, поскольку путь должен быть "Program Files (x86)". Как правильно обрабатывать пути кросс-платформенным способом для файлов сборки?
Благодарю.
1 ответ
Читать это:
http://social.msdn.microsoft.com/Forums/en/msbuild/thread/261edf66-c16d-4be0-995f-5f1edc2ac7b6
Показывает, что установка переменной, а затем выполнение переопределения будет работать. Я экспериментирую с этим, и это, кажется, работает:
<PropertyGroup>
<properPath>c:\program files\etc...</properPath>
<properPath Condition="'$(PROCESSOR_ARCHITECTURE)'=='AMD64' or '$(PROCESSOR_ARCHITEW6432)'=='AMD64'">c:\program files (x86)\etc...</properPath>
</PropertyGroup>