在 MSBuild 中找出当前操作系统的“位”

2024-01-12

我有一个构建脚本,需要对可执行文件的路径进行硬编码。路径是:

  • C:\Program Files\Microsoft Visual Studio 9.0\SmartDevices\SDK\SDKTools\cabwiz.exe

这工作得很好,但现在我在 64 位操作系统上运行(但我的同事和构建服务器仍然在 32 位操作系统上)。

我需要这样的路径:

  • C:\程序文件(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>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 MSBuild 中找出当前操作系统的“位” 的相关文章

随机推荐