1

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

取决于我机器的架构。

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

谢谢你。

4

2 回答 2

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>
于 2012-12-03T11:05:55.240 回答
1

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

于 2012-12-03T10:28:47.490 回答