Nous sommes deux entreprises qui travaillent sur le même projet, dans la même application. Nous échangeons chaque semaine uniquement nos assemblées (pas le code) en nous référant les unes aux autres dll.Nous aimerions savoir quelles sont les meilleures pratiques en matière deversion spécifique lors de l’ajout de références à notre projet. Dans quel cas devrions-nous utiliser une version spécifique à true et dans quel cas devrions-nous utiliser false?
Réponse
Trop de publicités?Cette réponse va être basé sur l'hypothèse que vous êtes à la gestion des versions de votre dll.
Si vous définissez SpecificVersion de vrai (ce qui est la valeur par défaut lors de l'ajout d'une référence), le projet de référence à cette dll avec une version particulière (dire par exemple 1.0.0.0). Si, à un moment plus tard, vous êtes donné une nouvelle dll (dire 1.0.1.0), puis vous devrez supprimer l'ancienne dll de référence et ajouter la nouvelle référence. C'est parce que le projet est spécifiquement à la recherche d'1.0.0.0 lorsque vous avez une nouvelle version 1.0.1.0.
L'alternative à cela est de définir l'SpecificVersion à false, ce qui indique que le projet de trouver la dernière dll et l'utiliser. Le problème, c'est que le projet est maintenant nécessaire de "chasse" dans divers lieux de la dll que vous avez référencé, ce qui peut augmenter votre temps de construction. Pour ce faire, même si elle connaît le chemin de la dll que vous avez référencé. Je ne suis pas sûr si c'est un bug ou si c'est fait à dessein. Il pourrait être la vérification pour voir si il y a une nouvelle dll en plus de celui que vous avez référencé (peut-être dans le GAC ou ailleurs).
Voici un article qui décrit cette question plus en détail.