OVH Cloud OVH Cloud

Interaction en tre DLL

2 réponses
Avatar
Bertrand
Bonjour

j'ai 2 objets qui donnent au final 2 DLL.

l'un est inclus dans l'autre.

comment se fait il que si je modifie l'objet le plus bas(donc recompilation
de la dll) je dois également recompiler l'autre dll.

n'est ce pas ce genre de pb de versioning que VB.NET sait gérer maintenant?


merci

2 réponses

Avatar
François Picalausa
Bonjour/soir,

<Mauvais groupe - réponse standard>
Ce groupe est dédié à VB6 et à ses versions antérieurs. Pour obtenir de
l'aide sur VB.NET ou tous autre produit .NET, pose tes questions dans
les groupes contenant le terme "dotnet" ou "vsnet", tel que :

microsoft.public.fr.dotnet.vb
</Mauvais groupe - réponse standard>

En ce qui concerne cette compatibilité, sous VB6, dans les propriétés du
projet, tu peux employer la compatibilité binaire pour palier à ce problème.

--
François Picalausa (MVP VB)
FAQ VB : http://faq.vb.free.fr
MSDN : http://msdn.microsoft.com


"Bertrand" a écrit dans le message de
news:%
Bonjour

j'ai 2 objets qui donnent au final 2 DLL.

l'un est inclus dans l'autre.

comment se fait il que si je modifie l'objet le plus bas(donc
recompilation de la dll) je dois également recompiler l'autre dll.

n'est ce pas ce genre de pb de versioning que VB.NET sait gérer
maintenant?


merci


Avatar
J-F Pagé
J'ai deux dll. Le dll"A" et le dll "B". Le dll "A" référence le dll "B".
Dans un premier temps, il faut que le dll utilise la compatibilité binaire.
Pour établir une compatibilité binaire, il faut dans le projet cocher
l'option et ensuite recompiler le dll. La compatibilité binaire permet de
conserver le même class ID tant que:
- L'interface n'est pas modifiée. C'est à dire que les entêtes de méthodes
ne soient pas modifiées. L'ajout ou la suppression d'une méthode.
- Une référence est enlevée ou ajouté à un autre dll

Ainsi, si je modifie le code d'une méthode du dll "B" sans modifier son
interface, le compatibilité binaire sera respectée et le dll "A" pourra
référencer la dll "B" car le class ID n'aura pas changé. Si je modifie
l'interface du dll "B", alors VB crée un autre class ID car l'interface a
changée. On doit donc recompiler le dll "A" afin qu'il référence le bon
class ID du dll "B".

Voici un très bon lien qui explique la compatibilité binaire:
http://www.visibleprogress.com/vb_binary_compatibility.htm

J-F

"Bertrand" wrote in message
news:#
Bonjour

j'ai 2 objets qui donnent au final 2 DLL.

l'un est inclus dans l'autre.

comment se fait il que si je modifie l'objet le plus bas(donc


recompilation
de la dll) je dois également recompiler l'autre dll.

n'est ce pas ce genre de pb de versioning que VB.NET sait gérer


maintenant?


merci