Bonjour,

Travaillant depuis des années sur VB6, avec lequel j'avais un certain nombre d'habitudes, je me débats actuellement à essayer de trouver mes marques avec les bibliothèques de classes, notamment sur la question du déploiement sur les machines clientes, la façon de gérer les versions successives de mes dll faites "maison".

Avec COM/ActiveX (dll faite en VB6 par exemple), il fallait que la dll soit enregistrée en base de registres (grâce à regsvr32.exe, ou encore tlbinf32.dll par programmation).
Ce qui servait à identifier un composant, c’était son GUID, son numéro de version COM majeur, son numéro de version COM mineur, et son LCID (numéro de langue dans Windows).
Une fois enregistré, ces informations permettaient au système de localiser le composant quelque soit son emplacement sur la machine.

En .net, il semble qu’une dll ne nécessite pas d’enregistrement en base de registres.
Dès lors, comment fonctionne le déploiement ?
Il semble (d’après mes tests préliminaires) que la dll doive se trouver dans le dossier de l’exécutable (ou au chemin relatif qui a été indiqué lors de la construction du projet client de la dll).
Cela signifierait que chaque exécutable client d’une même dll est susceptible d’avoir sa propre copie de la dll, en fonction de l’endroit où il se trouve.

Quel est le fonctionnement réel à ce niveau, sachant que la question est importante en tout premier lieu concernant le déploiement sur des machines de clients ?

Je vous remercie par avance de votre sollicitude envers ma question de dinosaure du développement