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

.net 在TFSBuild.proj中检查32位/64位环境,.net,visual-studio,msbuild,64-bit,.net,Visual Studio,Msbuild,64 Bit,我有一个32位的生成代理,我们的MSBuild在它上面运行。最近,我们在构建代理阵列中添加了一个新的64位机器,但我们的TFSBuild.proj文件中的某些内容是针对32位机器硬编码的 是否可以检查正在构建的环境是32位还是64位 <Exec Command="&quot;C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\devenv.exe&quot; &quot;$(BuildDirectory

我有一个32位的生成代理,我们的MSBuild在它上面运行。最近,我们在构建代理阵列中添加了一个新的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:\ProgramFiles(x86)\

谢谢

在MSBuild 4.0中有
$(MSBuildProgramFiles32)
属性

更多详情请访问

下的MSBuild子文件夹 \程序文件\或\程序文件 (x86)文件夹。这条路总是指向你 到32位程序文件文件夹。 例如,在32位机器上 路径是指向“程序文件”文件夹的路径。 对于64位机器,路径是 程序文件(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>