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
Répondre
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.
Je suis d'accord, bonne idée tvanfosson –
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! –
Si vous devez inspecter, vous pouvez extraire le code source sur votre machine locale et le localiser lorsque vous y êtes invité. – tvanfosson
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?
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. –
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
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.
- 1. SQL SUBSTRING vs RIGHT - Meilleure pratique
- 2. Construire Boost-powered solution dans VS
- 3. Organisation des dossiers sur VS Solution
- 4. Configuration de ReSharper dans la solution VS
- 5. Quelle est la meilleure pratique pour définir un service de savon (opération générique vs opération spécifique)?
- 6. Comment ajouter une variable d'environnement à la solution VS (.sln)
- 7. Ajouter un dossier de solution pour VS 2008?
- 8. Traiter de nombreux e-mails entrants dans Rails: MySQL vs Imap/Pop3 vs autre solution
- 9. Meilleure pratique pour la création d'une DLL .net dll vs vb6 pour l'application de bureau VB6?
- 10. SVN vs VSS vs CVS comparant l'aide
- 11. Traitement du courrier: rails vs php vs perl vs?
- 12. Comment utiliser VisualSVN avec une solution partagée entre VS 2005 et VS 2008?
- 13. Comment puis-je ajouter des fichiers Dossier de solution à un modèle de projet VS?
- 14. Migrer vs 2005 à 2008 vs
- 15. T4 vs CodeDom vs Oslo
- 16. Diffuser vs MPI vs zeromq?
- 17. apc_define_constants vs hidef vs define
- 18. SHMEM vs tmpfs vs mmap
- 19. Tri des projets dans une solution
- 20. Castle ActiveRecord et le modèle de solution ActiveRecord VS
- 21. Trouver tous les fichiers .rpt dans la solution VS
- 22. Actualiser les variables d'environnement pour la solution VS ouverte
- 23. IronPython vs C# pour des projets de petite taille
- 24. Comment exécuter plusieurs projets dans VS 2005 en tant qu'instance?
- 25. Rendre VS 2008 agréable avec les projets eVC 4.0
- 26. Comment créer une solution VS pour un projet c existant afin que VS sélectionne automatiquement les nouveaux fichiers?
- 27. Inhouse enregistrement vs OpenID vs Google Friend Connect vs Facebook Connect vs (etc)
- 28. Utilisation de Repeater.ItemDataBound vs fonction publique. Meilleure performance?
- 29. Le plus grand nombre de projets au sein d'une solution
- 30. Liste générique FindAll() vs. foreach
Qu'entendez-vous par «OTT»? – mayu