在构建服务器上为两个平台 (x86+x64) 构建 C++ dll

Build C++ dll to both platforms (x86+x64) on build server

有没有办法在构建服务器 (TeamCity) 上构建 (msbuild) 32 位和 64 位的 C++ 库?

我的解决方案由一些 C# 项目(所有 AnyCPU)和一个 C++ 组成:

在 msbuild 脚本中尝试使用此目标:

<Target Name="AfterBuild">
    <MSBuild Condition=" '$(Platform)' == 'Win32' " Projects="$(MSBuildProjectFile)" 
             Properties="Platform=x64;PlatFormTarget=x64" RunEachTargetSeparately="true" />
</Target>

但没有成功! (将使用配置中选择的平台window)

我通过在 VisualStudio 中添加一个新配置来仅构建本机来解决它 32 位的 C++ 库。

  1. 创建新配置,例如NativeLibs_x86
  2. 选中仅为 C++ 库和平台构建复选框 Win32
  3. 添加新目标以构建 NativeLibs_x86 到您的 msbuild 脚本

<Target Name="BuildNativeLibs"> <MSBuild Projects="$(SolutionFile)" Targets="Rebuild" Properties="Configuration=NativeLibs_x86; Platform=AnyCPU; DeployOnBuild=false" BuildInParallel="false"/>
</Target>

  1. 考虑目标 BuildNativeLibs 例如BuildRelease目标