Question

Où je travaille, j'ai plusieurs projets dans des référentiels distincts. Chaque projet partage beaucoup de code commun que je souhaite extraire dans un projet distinct. Je songe à appeler le projet selon le schéma suivant: Company.Department.Common ou Company.Department.Utility.

J'ai construit un projet pour cela et il a un script de construction automatisé (comme tous les autres projets).

Ma question est que je voudrais refactoriser mes projets existants pour qu'ils dépendent de ce nouveau projet. Une méthode assez simple mais qui ne correspond pas exactement à ce que je recherche est tout simplement de construire mon projet Utility, de copier la DLL dans le dossier lib de mon projet consommateur et de l’archiver avec ce projet consommateur.

Personnellement, j’ai le sentiment que cette méthode est assez médiocre. Je voudrais avoir une référence à mon projet Utility et effectuerai une mise à jour et une construction du projet Utility avant la construction du projet consommateur.

Pour votre information, le type de code inclus dans le projet Utlity comprend les fonctions de journalisation, les classes de test d'unité BDD, les fonctionnalités IoC et les classes orientées Common Company.Department.

J'espère que ma question n'est pas trop vague, mais avec quelques réponses, je pourrai peut-être préciser davantage ce que j'aimerais faire.

Enfin, ceci concerne les projets .Net et utilise NAnt comme script de construction, et svn pour la gestion des versions de code.

Était-ce utile?

La solution

Greg a raison de dire que vous voudrez probablement utiliser la fonctionnalité svn: external. J'ai créé un guide étape par étape expliquant comment procéder sous Windows avec TortoiseSVN. Je l'ai trouvé assez déroutant les deux premières fois où je l'ai utilisé. J'ai créé le guide afin de pouvoir le consulter car je ne le fais pas tout le temps.

Utiliser svn: externals avec Windows

Autres conseils

Avez-vous vérifié la fonctionnalité svn: externals ? Cela vous permet de faire apparaître un référentiel différent en tant que sous-répertoire d'un référentiel de niveau supérieur. Si je comprends ce que vous essayez de faire, cela pourrait aider.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top