Sortie d'un autre en construction Inclus
-
18-09-2019 - |
Question
Quelle est la bonne façon d'inclure une sortie d'une génération comme un binaire dans une autre version?
Disons que j'ai une solution appelée CompanyName.Domain (ma couche de domaine). Je l'ai mis en place comme la construction et nightly builds.
Maintenant, je veux ajouter une solution appelée SomeProject.Web. Et je veux inclure le binaire de CompanyName.Domin dans un dossier Binaires à un niveau de pair avec ma solution. Ensuite, la référence du projet à Binaires \ CompanyName.Domain.dll fonctionnera.
Qu'est-ce que les meilleures pratiques pour ce faire? Je connais quelqu'un qui a dit qu'ils essayaient de le faire avec ramification. Je suis un « contrôle de code source » totale newb. Mais quelque chose cela semble mal.
La solution
Tout comme Daryl, nous utilisons un dossier « Binaires » que nous faisons référence binaires à partir. Nos « bibliothèques » builds juste XCOPY les résultats dans l'emplacement des binaires, donc si nous voulons mettre à jour les bibliothèques, nous venons de vérifier les binaires, construire, et les vérifier à nouveau.
Cela nous permet de partager toutes nos bibliothèques internes (ainsi que toutes les bibliothèques 3ème partie que nous utilisons) à partir d'un seul emplacement standardisé et toutes nos bibliothèques peuvent être précompilés, sauver nos devs avoir à les construire si elles ne sont pas réellement changer quoi que ce soit dans le libs.
Faites attention à la libération de référence builds de vos bibliothèques (la seule exception que nous avons à ce sujet est que nous avons une bibliothèque d'aides de débogage qui sont conditionnellement compilés dans debug seulement, et nous devons faire référence à la version de débogage de celui-ci sinon tout notre débogage est compilé sur le programme même dans les versions debug!)
Une dernière note:. Évitez de branchement à moins qu'il n'y a pas d'alternative raisonnable
Autres conseils
Mon entreprise fait en créant un « Références » dossier pour contenir tous les fichiers .dll nécessaires pour construire des ensembles de références externes, comme le dossier bin ne marche pas réellement obtenir enregistré sous contrôle de code source.
Nous utilisons le TFS dépendance Replicator , qui peut copier des fichiers sur tout projet dans TFS après un projet construit . Il n'a pas vrai grande documentation, mais il semble faire ce qu'il est censé après vous l'obtenez configuration.