检查TFSBuild.proj中的32位/ 64位环境

时间:2011-06-24 01:40:31

标签: .net visual-studio msbuild 64-bit tfs2010

我有一个运行MSBuild的32位构建代理。我们最近在构建代理程序阵列中添加了一个新的64位机器,但我们的TFSBuild.proj文件中的一些内容是针对32位机器的硬编码。

是否可以检查构建的环境是32还是64位?

<Exec Command="&quot;C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\devenv.exe&quot; &quot;$(BuildDirectoryPath)\FooProduct/foo.vdproj&quot; /Build &quot;Release&quot;"/>

在32位机器上运行构建时,它必须指向C:\ Program Files \ ...但是在64位机器上,它必须指向C:\ Program Files(x86)\ ...

由于

1 个答案:

答案 0 :(得分:3)

MSBuild 4.0中有$(MSBuildProgramFiles32)属性。

MSBuild Reserved Properties的更多详情。

  

下的MSBuild子文件夹   \ Program Files \或\ Program Files   (x86)文件夹。这条路总是指向的   到32位Program Files文件夹。   例如,在32位机器上,   path是Program Files文件夹。   对于64位计算机,路径是   Program Files(x86)文件夹。

<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"
         DefaultTargets="Test"
         ToolsVersion="4.0">
  <Target Name="Test">
    <Message Text="&quot;$(MSBuildProgramFiles32)\Microsoft Visual Studio 10.0\Common7\IDE\devenv.exe" />
  </Target>
</Project>