我有一个 MSBUILD 目标片段,它具有如下内容来执行外部应用程序:
<Exec Command=""C:\Program Files\dir\do.exe...."" />
它在 x86 机器上运行良好,但在 x64 系统上运行时它当然坏了,因为路径应该是“Program Files (x86)”。以跨平台方式处理构建文件路径的正确方法是什么?
谢谢。
我有一个 MSBUILD 目标片段,它具有如下内容来执行外部应用程序:
<Exec Command=""C:\Program Files\dir\do.exe...."" />
它在 x86 机器上运行良好,但在 x64 系统上运行时它当然坏了,因为路径应该是“Program Files (x86)”。以跨平台方式处理构建文件路径的正确方法是什么?
谢谢。
读这个:
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>