Dans Solution Explorer, cliquez avec le bouton droit sur le nœud racine ->Configuration Manager Vous devez définir une configuration à l'échelle de la solution qui indique à chaque projet de construire en 32 bits (Remarque: vous en avez probablement déjà un si vous avez déjà défini Au moins un projet à construire en 32 bits.) Pour une procédure pas à pas, consultez l'article de blog MSDN Solution Configurations. Puis, vous spécifiez la "plate-forme" et la "saveur" souhaitées dans vos fichiers Team Build.proj
/. Par exemple:
<ConfigurationToBuild Include="Release|x86">
<FlavorToBuild>Release</FlavorToBuild>
<PlatformToBuild>x86</PlatformToBuild>
</ConfigurationToBuild>
Vous pouvez spécifier plusieurs de ces sections de propriété pour avoir plusieurs combinaisons construites. Je copierais/collerais la chaîne "Release | x86" (ou quelque chose comme ça) directement à partir de votre fichier .sln
pour s'assurer qu'il correspond exactement - vous ne pouvez pas l'obtenir directement à partir de l'Explorateur de solutions.
En ce qui concerne votre commentaire:
MSBuild évaluation de la propriété est assez complexe car il mélange les styles déclaratifs et impératifs. Voir le blog MSBuild Property Evaluation pour plus de détails. Je préfère ne pas compter sur ses subtilités.
Il est vrai que les propriétés spécifiées sur la ligne de commande doivent remplacer tout le reste, mais Team Build a une autre couche de complexité. The ComputeConfigurationList task is called repeatedly via a recursive MSBuild invokation, not as an ordinary task.La façon dont il tire ceci est de prendre les propriétés ordinaires comme PlatformToBuild
et les envelopper dans un ensemble de propriétés globales appelées ConfigurationToBuild.PlatformToBuild
(etc.) qui sont générées à la volée, une fois pour chaque configuration. Cela rend le moteur Team Build beaucoup plus flexible en interne, mais il rend également le comportement de la ligne de commande que vous voulez plus difficile.
Vous pouvez essayer de définir ConfigurationToBuild.PlatformToBuild
directement sur la ligne de commande - cela peut fonctionner, je ne suis pas sûr. Mais cela vous empêchera de créer plus d'une configuration dans une même définition de construction. Pour cette raison, je m'en tiens à mon conseil ci-dessus.
Pas la réponse que je cherchais mais a fini par être le plus simple/le plus sûr. –
Si ce n'était pas la réponse que vous cherchiez, pourquoi a-t-elle été acceptée? ;-) @ La réponse de Nader devrait être acceptée. :-) – darrenp