2010-05-17 6 views
3

Je dois générer différents noms d'assembly en fonction de la cible de la plateforme. Par exemple, j'ai une application console "bob.exe". Au lieu de construire pour AnyCPU, j'ai besoin de construire explicitement pour x86 et x64 et veulent donc "bob32.exe" et "bob64.exe". L'onglet Application dans les options du projet Visual Studio 2010 désactive la zone de liste déroulante Plate-forme. Les événements de construction n'autorisent pas les options par plate-forme, donc je ne peux pas les renommer par la suite très facilement.Nom d'assembly différent pour chaque cible de plateforme

Mise à jour: Modifier manuellement le fichier de projet semble fonctionner mieux, aucun fichier supplémentaire ne fait partie de la construction et les pdbs ont un nom correspondant.

Répondre

10

L'EDI ne peut pas gérer cela, mais msbuild.exe le fait. Editez le fichier .csproj avec, disons, le Bloc-notes. Vous verrez quatre PropertyGroups pour les paramètres de x86/x64 et Debug/Release. Le premier a un élément <AssemblyName>. Copiez et collez-le dans les 3 autres groupes. Et renommer leur valeur.

3

Vous pouvez ajouter un événement Post-Built pour copier l'exécutable à l'aide de la macro $(PlatformName).

Vous devrez copier (pas renommer) ou le débogueur ne fonctionnera pas.

+0

Ceci est assez proche, mais $ (PlatformName) est "x86" ou "x64" et je ne vois pas une option pour renommer la plate-forme. Idéalement, je voudrais "32" et "64". Je suppose que je peux ajouter deux étapes supplémentaires pour copier aveuglément bobx86.exe à bob32.exe après chaque build. – Murray

+0

Vous pouvez accéder à Configuration Manager et renommer les plates-formes. – SLaks

+0

Je suis incapable de renommer les plates-formes dans le projet, seule la solution. – Murray

Questions connexes