Qu’est-ce qu’une bonne structure de répertoires pour les grandes solutions C # / C ++?

Comment définiriez-vous la structure de répertoires pour une solution C # volumineuse, composée de 20 à 30 projets, principalement C # mais certains C ++? Où mettez-vous des dépendances externes? Lorsque vous créez une twig dans le contrôle de source, est-ce que vous twigz absolument tout? Remplacez-vous les valeurs par défaut pour l’emplacement des fichiers générés?

J’en restrais à l’approche “répertoire de la solution, chaque projet dans un sous-répertoire” – l’utilisation d’un mélange de C # et de C ++ ne devrait pas changer cela.

J’aime créer un sous-répertoire “lib” (hors du répertoire de la solution) et y placer des dépendances externes, puis faire référence à cet emplacement à partir de chacun des projets. Cela aide à garder toutes les versions synchronisées.

Branchez tout, afin que vous puissiez toujours extraire une twig entière et la construire dans une version cohérente.

En général, je ne remplace pas les valeurs par défaut pour l’emplacement des fichiers construits – c’est très compliqué – mais j’ai un script NAnt (ou autre) pour effectuer la construction, puis collecter les fichiers binarys pertinents pour la dissortingbution.

Jetez un coup d’œil au projet Tree Surgeon CodePlex.