2008-11-07 12 views
10

Chaque fois que j'ai une bibliothèque qui utilise différents sites Web/applications, j'ai toujours ajouté le projet de la bibliothèque dans la même solution et référence à partir de là. C'est génial lorsque vous avez besoin de déboguer au sein de la solution, mais dans toutes les autres situations, il semble inutile et plus d'espace pris dans l'explorateur de solution. Un autre point positif ou négatif est que si cette bibliothèque est mise à jour par quelqu'un d'autre dans l'entreprise et que je construis ensuite une autre application qui utilise la même chose, ils pourraient avoir cassé la construction. Si pour une raison quelconque qui ne peut pas être corrigée avec l'application actuelle, vous pouvez revenir dans votre contrôle source et revenir à une version plus ancienne, mais cela semble un peu trop OTT. Je me demandais juste ce que les autres pensent de ce sujet. Que faites-vous normalement, référencez la DLL ou ajoutez-vous le projet à votre solution.VS Solution, projets vs dlls meilleure pratique

+0

Qu'entendez-vous par «OTT»? – mayu

Répondre

10

Nous conservons nos Dll de production dans un emplacement bien connu sur un lecteur réseau et la référence est via le chemin DFS UNC (pas de lettre de lecteur). De cette façon, nous pouvons avoir différentes versions de la bibliothèque utilisées en même temps et les mises à jour ne cassent pas le code/forcer une recompilation jusqu'à ce que la nouvelle version doive être utilisée. Un schéma de nommage standard peut être utilisé pour s'assurer que si un projet veut toujours utiliser la dernière version, il peut.

+0

Je suis d'accord, bonne idée tvanfosson –

+0

Qu'en est-il du débogage? n'est-ce pas difficile à déboguer? même si ces bibliothèques ne sont pas le travail principal de moi, mais parfois j'ai besoin de creuser lors du débogage! –

+2

Si vous devez inspecter, vous pouvez extraire le code source sur votre machine locale et le localiser lorsque vous y êtes invité. – tvanfosson

1

Conservez la bibliothèque dans un dossier partagé entre les projets et faites-en simplement référence. De cette façon, quand il est mis à jour, les changements seront conservés partout. Pour le débogage, je pense que si vous gardez les fichiers .pdb pour la bibliothèque à portée de main, vous devriez pouvoir entrer dans les dll, cependant, devriez-vous vous préoccuper du débogage d'une bibliothèque?

+1

Actuellement, nous en avons développé un en même temps que l'application et il sera développé aux côtés d'autres aussi pourquoi le débogage * pourrait * être pratique. –

+1

Je recommande de toujours référencer une version particulière (coller un numéro de version sur le dossier) et ne jamais écraser les DLL dans un emplacement partagé (toujours ajouter seulement de nouvelles versions). L'écrasement d'un fichier partagé peut avoir et aura un impact sur des choses que vous n'aviez pas l'intention d'affecter. – mayu

3

Vous pouvez également enregistrer votre DLL dans le GAC. Le GAC gère tous les références, versions, etc. et est sécurisé. Après avoir assigné une clé forte qui est une pré-requis pour les DLL assis dans le GAC, vous avez un moyen sécurisé d'accéder aux Dll et où vous utilisez un serveur partagé, cela peut être inestimable. Vos sites qui utilisent cette DLL ont un port d'escale central pour l'assemblage. Le GAC a une foule d'avantages avec plusieurs articles sur MSDN et sans doute des centaines de google dédiés à cela.

Questions connexes