Проблема здесь в том, что любой ЦП обрабатывается немного иначе, по соглашению, чем другие конфигурации - например, он не входит в иерархию выходных каталогов. В файле целей Team Build есть цель с именем ComputeConfigurationList:
<ItemGroup>
<!-- ConfigurationList for any Platform but Any CPU -->
<ConfigurationList Condition=" '%(ConfigurationToBuild.PlatformToBuild)' != 'Any CPU' " Include="$(MSBuildProjectFile)">
<Properties>Configuration=%(ConfigurationToBuild.FlavorToBuild);Platform=%(ConfigurationToBuild.PlatformToBuild);TeamBuildOutDir=$(BinariesRoot)\%(ConfigurationToBuild.PlatformToBuild)\%(ConfigurationToBuild.FlavorToBuild)\;TeamBuildPublishDir=$(BinariesRoot)\%(ConfigurationToBuild.PlatformToBuild)\%(ConfigurationToBuild.FlavorToBuild)\</Properties>
</ConfigurationList>
<!-- ConfigurationList for Any CPU Platform -->
<ConfigurationList Condition=" '%(ConfigurationToBuild.PlatformToBuild)' == 'Any CPU' " Include="$(MSBuildProjectFile)">
<Properties>Configuration=%(ConfigurationToBuild.FlavorToBuild);Platform=%(ConfigurationToBuild.PlatformToBuild);TeamBuildOutDir=$(BinariesRoot)\%(ConfigurationToBuild.FlavorToBuild)\;TeamBuildPublishDir=$(BinariesRoot)\%(ConfigurationToBuild.FlavorToBuild)\</Properties>
</ConfigurationList>
</ItemGroup>
Эта цель обрабатывает входящую группу элементов ConfigurationToBuild в двух пакетах - Любой ЦП и все остальное. Таким образом, результирующая группа элементов ConfigurationList сортируется иначе, чем исходная группа элементов ConfigurationToBuild, причем все конфигурации Any CPU идут после всех non Any конфигураций CPU.
Обходной путь, если важен порядок ваших конфигураций, заключается в определении новой конфигурации решения для всех ваших решений - см. Инструкции в блоге, на которые есть ссылки выше. Например, вы можете определить конфигурацию под названием TFS, основанную на Any CPU для ваших решений Any CPU, на Win32 для этих решений и т. Д. Затем в вашем файле TfsBuild.proj вы бы включили эту единственную конфигурацию в группу элементов ConfigurationToBuild. Это будет иметь приятный побочный эффект - избавиться от различных предупреждений о «недопустимой конфигурации», которые вы, вероятно, получаете прямо сейчас, когда TFS Build пытается построить ваши конфигурации Win32 для любого процессора и наоборот.