【问题标题】:In a post build script how to check if the system is a 64 or 32 bit在构建后脚本中如何检查系统是 64 位还是 32 位
【发布时间】:2012-11-30 09:35:58
【问题描述】:

在 Visual Studio 2010 中,在构建后脚本中,我需要将这些文件之一复制到“bin”目录: myLib32.dll 或 myLib64.dll

取决于我机器的架构。

有没有办法在脚本中检查我正在使用的架构?

谢谢。

【问题讨论】:

    标签: visual-studio-2010 shell build-process build-automation


    【解决方案1】:

    您在构建后的命令行中有 $(PlatformName) 可用,但这是您构建它的平台,不一定是您所在机器的平台。或许您可以利用 Windows 中的 PROCESSOR_ARCHITECTURE 环境变量?

    【讨论】:

      【解决方案2】:

      如果你将这个添加到需要文件的项目的项目文件中,那么我认为它会做你需要的:

      它检查是否存在 syswow64 版本的程序文件 - 这在 32 位版本的 windows 上是空的

      <PropertyGroup>
          <OSBitness Condition="'$(ProgramW6432)' == ''">32</OSBitness>
          <OSBitness Condition="'$(ProgramW6432)' != ''">64</OSBitness>
      </PropertyGroup>
      
      <ItemGroup>
          <myLib Include="myLib$(OSBitness).dll" />
      </ItemGroup>
      
      <Target Name="AfterBuild">
          <Copy SourceFiles="@(myLib)" DestinationFolder="$(TargetDir)" />
      </Target>
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-08-28
        • 1970-01-01
        • 1970-01-01
        • 2020-08-01
        • 2012-07-29
        • 2014-08-04
        相关资源
        最近更新 更多