J'ai le besoin de supprimer et de renommer un
sélection de solution/projet
les configurations dans visual studio, sont
il y a un outil qui va aider à
cette?
Réponse courte: Non.
Réponse longue: Sorte-de (par exemple, vous allez intégrer "l'aide" des outils qui sont incomplètes, et d'écrire des scripts personnalisés/travail pour créer/intégrer dans votre processus de gestion des configurations).
Commentaire éditorial: la Grande question, beaucoup de gens ont souffert de cette (comme indiqué par le "upvotes" à votre question), et nous avons tous l'amour une bonne réponse.
Je suis la recherche de la construction en outil très
peu serviable. Par exemple, quand je supprime
une configuration à partir d'une solution de
refuse de supprimer la relative
les configurations de projet, juste au cas où
ils sont nécessaires ailleurs. Aussi
renommage d'une solution de configuration
renommez pas que c'est lié
les configurations.
D'accord-l'outil intégré est tout à fait inutile. Il est très difficile de maintenir de nombreux projets et solutions avec des configurations différentes et des ensembles de dépendances, en particulier pour les différents types de cibles/plates-formes. Il a des caractéristiques comme son utilisation de plusieurs Guid pour les projets, les ensembles de fichiers, et les types de projets, qui sont stockées dans le registre, et accessible depuis l'intérieur de l' *.sln
et *.vcproj
. L'outil va tenter de "guérir" de ces identificateurs uniques de l'onu de faire vos modifications, et en ignorant certains de ses propres valeurs, de "réparer" les connexions entre les projets/solutions. Il en résulte beaucoup de "trucs" dans votre base de registre et dans vos fichiers de configuration, inutile de modifier les fichiers si vous vérifiez dans votre système de contrôle de version, et les scénarios où de nombreuses parties du fichier sera "ignoré", même si vous (bien) fait de ces modifications. Certaines données telles que "nom de projet" et "projet de nom de configuration" et "plate-forme du projet de nom de" sont parfois redondantes, et parfois pas. Parce que les Guid, ce type de "externes/manuel d'entretien" rend très facile pour votre projet/solution pour "paraître" pour faire référence au projet correct (par nom), mais le MAL de projet (comme identifié de manière unique par un GUID, qui a été résolu au moyen d'un renvoi dans le registre). Et, il n'y a plus qu'un moyen de spécifier la même chose à l'intérieur de ces fichiers, menant à la confusion (surtout depuis l' *.sln
/*.vcproj
le fichier de l'ontologie n'est pas bien documentée, ni susceptible d'être bien documenté dans le futur).
En bref, MSVS est une assez bonne IDE, mais terrible pour la construction et la gestion de projet / maintenance. Il semble manquer un fort centre de la conception. Je concède que c'est un (très) dur de problème, les personnes qui ont travaillé sur "build" pour des décennies, et à mon humble avis de l'état-of-the-art n'est pas très bon. Cependant, MSVS est plus vraiment une "conception par le comité", y compris des trucs à partir de l'évolution à travers les grands a répondu à des révisions.
Ainsi, les plus "bonne" réponse à votre question est "non": MSVS n'est pas conçu pour faire ce que vous voulez (par exemple, l'entretien de la solution/les configurations de projet dans MSVS). Cependant, je suis sûr que la réponse de Microsoft serait, "Nous vous avons donné un .NET API, vous pouvez faire votre propre réponse et écrire vos propres outils". Cependant, après de grandes recherches sur ce sujet, à mon humble avis, aucune solution adaptée existe pour ces types d'outils à l'aide de ces types d'Api (bien que vous pouvez sauter dans, et avec beaucoup d'efforts, écrire vos propres outils pour faciliter la maintenance.)
MSVS2010 est de mieux en mieux, mais c'est toujours pas génial pour construire et projet de gestion de la configuration. De nouvelles Api sont utiles, mais ils sont difficiles, et à mon avis pas bien conçu. Le plus probable, Microsoft n'a jamais sérieusement aborder cet aspect de l'IDE: C'est un IDE, prévu pour le développement accéléré de l'itération, et non destinées à construire-projet-et-solution d'entretien. (Plus de détails peuvent être trouvés sur ce sujet si vous creusez profondément dans les forums MSDN).
Il doit y avoir une meilleure façon de faire
c'. Toute autre alternative d'outils?
Oui et oui: Pour tous les systèmes de construction, le problème est la "données d'enregistrement", qui est ce que vous voulez pour une configuration: Ces fichiers, ces macros définies, ces arguments de ligne de commande, ce type de cible, etc. De ce que (ce qui est vérifié avec votre code source), le "réel" construire des fichiers/scripts doivent être générés.
Bien sûr, j'ai juste décrit CMake (qui génère des "fichiers" à partir de données de la source d'enregistrement du fichier), et une foule d'autres outils. Ils sont votre meilleur pari. Dans ce cas, CMake fait un bon travail de générer *.sln
et *.vcproj
fichiers, mais pas de beaucoup d'autres outils (il est un peu difficile en raison de la complexité à l'intérieur de ces fichiers, et largement leurs pas-bien documenté de détails). Un autre outil qui fait un assez bon travail générant *.vcproj
est qmake, (ce qui est un bon build outil gestionnaire de configuration, même si vous n'utilisez pas les bibliothèques Qt). Un autre (de la même idée), c'est Google "gyp" (abréviation de "générer de-vos-projets", ce qui devrait générer *.sln
/*.vcproj
fichiers, mais je ne suis pas sûr qu'il soit prêt pour le "prime time".
Pour tous ces outils, le flux de travail implique:
- Mettre à jour les données d'enregistrement des fichiers;
- (Re)générer l'
*.sln
/*.vcproj
fichiers.
- Utiliser le générés
*.sln
/*.vcproj
fichiers dans votre MSVS IDE, ou de la version de ligne de commande.
Si vous ne voulez pas un outil externe, mais serait plutôt un "plug-in" en quelque sorte qui fonctionne nativement sur votre *.sln
/*.vcproj
fichiers, je suis pas au courant de quoi que ce soit pour vous aider (et j'ai regardé). Ce n'est pas une pensée nouvelle: Certains outils existent pour fonctionner nativement sur ces fichiers (comme "la version de la migration" outils certaines personnes ont écrit-et-partagée), et certaines personnes ont parlé d'un système de construction nativement "campé" de ces fichiers que les données d'enregistrement, mais ces fichiers sont une sorte de désordre et de sans-papiers, et un déplacement de la cible en ce qui concerne MSVS versions, et ne traitent pas très bien la centralisation de la question de la centralisation des paramètres de construction avec un local-projet-de remplacer, de sorte que c'est vraiment difficile à faire. (Pas de tel système de construction existe à l'heure actuelle qui est "campé sur" le MS fichiers natifs, autres que les MSVS, je ne pense pas.)
MSVS2010 fait de la création d'un tel plug-in "plus facile" que les précédents MSVS versions, mais je ne pense pas qu'un tel plug-in existe pas encore (et je ne pense qu'un tel généralisée plug-in a une forte probabilité de succès, parce que ce que vous demandez n'est pas une priorité pour le MSVS, qui est principalement une IDE, pas un gestionnaire de configuration). Plutôt, vous aurez plus de chances d'avoir à creuser dans la .NET API pour écrire votre propre (non trivial de travaux et d'entretien), ou à essayer de se pencher sur Visual Studio Propriétés du Projet (mais je ne pense pas que vous donner ce que vous voulez).
Enfin, (hors-sujet), je suis en train d'écrire un tel outil, qui s'appuie sur des méthodes heuristiques pour l'auto-générer et de l'auto-maintien de ces types de dépendances du projet, et je suis en train d'écrire-out *.sln
/*.vcproj
fichiers. Ce n'est pas prête pour le "prime-time", mais je serais intéressé par votre projet, gestion de la configuration de questions, et je suis prêt à partager l'outil(s) si cela s'avère utile pour vous (c'est personnel hobby développement en C++, actuellement Windows, mais si port Posix avec peu d'effort).