2010-12-08 37 views
1

J'ai une solution avec plusieurs projets qui font tous référence à un ensemble commun de bibliothèques Microsoft.Practices. À l'heure actuelle, ces bibliothèques sont dans le dossier bin de l'un des projets, et regroupées dans un dossier de solution appelé «DLL», et je ne l'aime pas du tout. Un dossier bin doit rester un dossier de sortie, et les dépendances partagées entre les projets ne doivent pas être cachées dans la 'sortie' d'un projet. Idéalement, j'aimerais simplement ajouter un dossier physique à ma solution, déplacer ces bibliothèques dans ce dossier et mettre à jour toutes les références de projet pour pointer vers ce dossier, mais je ne peux pas ajouter un dossier physique à une solution. Une solution presque acceptable consiste à créer un nouveau projet, sans fichiers source, et à déplacer les bibliothèques dans le dossier physique créé pour ce projet, et ainsi de suite. Quelles sont les bonnes pratiques acceptées pour des scénarios comme celui-ci?Ajout d'un dossier physique à une solution pour les bibliothèques référencées

Répondre

1

J'ai ajouté des dossiers de solution ou placé les bibliothèques dans un projet "commun" déjà existant.

+0

Aha, j'ai remarqué que j'ai aussi un projet .Common que je peux mettre dedans, sans en créer un nouveau. – ProfK

0

La manière la plus courante est de créer un répertoire Lib à la racine de votre répertoire de projets et d'y placer vos dll. Pas besoin de l'avoir dans le cadre de votre solution. Mais si vous le souhaitez dans votre solution, vous pouvez toujours créer un dossier de solution et le placer là (faites un clic droit sur la solution, développez le menu Ajouter, sélectionnez "Nouveau dossier de solution").

+0

Je pense que vous manquez mon point. J'ai besoin d'avoir une partie de la solution parce que ces dll sont utilisés par plusieurs projets dans la même solution, donc un dossier Lib dans chaque projet qui les utilise signifie que plusieurs copies de ces dll sont partout. Je ne veux pas de dossier de solution car cela ne me donne aucun emplacement discret pour la DLL. Ils sont en fait dans un dossier de solution pour l'instant, mais ils sont toujours situés dans le dossier bin d'un projet. – ProfK

1

Notre structure projet/solution présente comme suit:

xdev \ CompanyName \ ProjectName \ solutionfolder ..

Nos bibliothèques communes, qui sont utilisés dans plusieurs projets se trouve ici

xdev \ nom_entreprise \ nom_projet \ libs ..

Cela fonctionne très bien pour nous. Il n'y a pas besoin d'avoir les assemblages dans la solution, à mon point de vue. Si vous avez besoin d'un dossier de bibliothèque à solution large, placez-le dans le dossier companyname. C'est seulement une structure logique de dossiers, rien d'autre ;-)

+0

Oui @Marius, je vois que l'explorateur TFS me permet de créer un dossier sous le dossier de la solution à partir de VS, un plus. J'aurais utilisé ça si je n'ai pas trouvé de projet commun à utiliser. – ProfK

+0

Si vous aimez avoir les libs dans votre TFS, pour cela nous utilisons un SharedProject dans TFS et y mettons nos assemblages. – Mariusz