在Visual Studio 2010中,在后期构建脚本中,我需要将其中一个文件复制到“bin”目录: myLib32.dll或 myLib64.dll
取决于我机器的架构。
有没有办法检查脚本我正在使用哪种架构?
谢谢。
答案 0 :(得分:1)
您在构建后的命令行中有$(PlatformName),但这是您为其构建的平台,而不一定是您所在计算机的平台。也许您可以在Windows中利用PROCESSOR_ARCHITECTURE环境变量?
答案 1 :(得分:1)
如果将此项添加到需要该文件的项目的项目文件中,那么我认为它将满足您的需求:
它检查是否存在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>