外部アプリケーションを実行するために、次のような MSBUILD ターゲット スニペットがあります。
<Exec Command=""C:\Program Files\dir\do.exe...."" />
x86 マシンでは正常に動作しますが、パスが「Program Files (x86)」である必要があるため、x64 システムで実行すると、もちろん機能しなくなります。ビルド ファイルのパスをクロスプラットフォームで処理する適切な方法は何ですか?
ありがとう。
外部アプリケーションを実行するために、次のような MSBUILD ターゲット スニペットがあります。
<Exec Command=""C:\Program Files\dir\do.exe...."" />
x86 マシンでは正常に動作しますが、パスが「Program Files (x86)」である必要があるため、x64 システムで実行すると、もちろん機能しなくなります。ビルド ファイルのパスをクロスプラットフォームで処理する適切な方法は何ですか?
ありがとう。
これを読む:
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>