Y a-t-il de bonnes raisons de modifier le chemin de sortie de votre projet de votre défaut de "bin \ débog"? Y a-t-il des avantages à la pointe de tous vos projets dans une solution à un emplacement de sortie de construction commun? P>
3 Réponses :
La principale raison pour laquelle je modifie mon répertoire de sortie consiste à réduire le nombre d'ensembles en double et au nombre de copies de fichier, Visual Studio doit faire. Si le projet B et Project C références Le projet A et B, Studio doit alors construire un, copier A à B et Build B, puis copier A et B sur C et Construire C. Vous avez maintenant 3 copies de l'assemblage A, Deux copies de l'assemblage B, et l'une des C. pointant la sortie à un répertoire unique, Visual Studio construit simplement A, puis B, alors C. une copie de chacun. Vous pouvez imaginer à quel point l'espace et le temps de disque sont-ils consommés pour une construction à mesure que le nombre de projets et de complexité des dépendances augmente. P>
Comme exemple, j'ai une updater.exe qui est censé être distribué avec un "autre" programme. J'ai donc défini le chemin de construction sur le chemin de construction "Autre" Programmes. De cette façon, je sais que j'ai toujours les dernières "updater.exe" où il devrait être. p>
c'est juste une raison. p>
Oui, je fais généralement cela tout le temps em>. Comme Harry l'a dit, il réduit l'utilisation de l'espace disque. Ce n'est vraiment pas un gros problème pour moi, puisque l'espace disque est incroyablement bon marché, mais cela pourrait être une préoccupation pour vous. La vraie raison pour laquelle je le fais pour mieux refléter ce que le déploiement ressemblera. La meilleure façon de le faire est d'avoir un propriété Feuille qui modifie le répertoire de sortie sur Globalement, avoir un répertoire isolé pour les choses construites (plutôt que des sources) est une bonne chose. Il facilite la rédaction d'étapes de construction personnalisées, car vous savez où la sortie ultime sera et facilite l'intégration avec votre système de contrôle de version, car vous pouvez simplement la définir pour ignorer ce répertoire entier, plutôt que de contourner le réglage $ (solutionDir) / Build / bin code>. Après cela, j'ai défini le répertoire de travail sur
$ (solutiondir) / Build code>, qui est l'ensemble de la structure identique à ce qui serait déployé, plutôt que de la faire étaler entre les différents répertoires de projet. < Pré> xxx pré>
Ignorer code> Pour tous
.exe code>,
.lib code>,
.so code>,
.dll code> et quoi que ce soit pour chaque petit répertoire. p> p>
Tout comme une note, mon point réel était davantage sur le temps Visual Studio prend pour copier les mêmes fichiers avec des dépendances complexes - la quantité d'espace disque était en quelque sorte auxiliaire. Mais je suppose que la façon dont j'ai libellé ma réponse donna un poids égal à chacun.