我有一个构建脚本,需要对可执行文件的路径进行硬编码。路径是:
- C:\Program Files\Microsoft Visual Studio 9.0\SmartDevices\SDK\SDKTools\cabwiz.exe
这工作得很好,但现在我在 64 位操作系统上运行(但我的同事和构建服务器仍然在 32 位操作系统上)。
我需要这样的路径:
- C:\Program Files (x86)\Microsoft Visual Studio 9.0\SmartDevices\SDK\SDKTools\cabwiz.exe
但其他人请使用正常路径。
这是我的设置方法:
<PropertyGroup>
<CabWiz>"C:\Program Files\Microsoft Visual Studio 9.0\SmartDevices\SDK\SDKTools\cabwiz.exe"</CabWiz>
</PropertyGroup>
如果操作系统(不是当前的构建配置)是 64 位,我是否可以设置一个条件,以便我可以设置它?
最佳答案
有一个注册表项可以告诉您当前操作系统的位数。以下是我在 MSBuild 文件中使用的属性:
<PropertyGroup>
<MachineProcessorArchitecture>$(registry:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment@PROCESSOR_ARCHITECTURE)</MachineProcessorArchitecture>
<Is32Bit>False</Is32Bit>
<Is32Bit Condition="'$(MachineProcessorArchitecture)' == 'x86'">True</Is32Bit>
<Is64Bit>False</Is64Bit>
<Is64Bit Condition="'$(MachineProcessorArchitecture)' == 'AMD64'">True</Is64Bit>
</PropertyGroup>
关于msbuild - 在MSBuild中找出当前操作系统的 "Bit",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3505285/