Bonjour,
Dans le cadre du développement d’une librairie COM pour Excel (2003), j’ai rencontré un problème de précision « étonnant ».
Contexte :
Je possède une librairie réalisant des calculs.
Cette librairie est pilotée soit :
- par une interface utilisateur (Winform)
- par Excel, via COM

Hors, les résultats obtenus par les deux modes de pilotages sont différents.

Après inspection du code au débugger, il apparait que la méthode « Math.Log » ne donne pas le même résultat par COM que par l’app. WinForm (valeur tronquée dans le cas de l'appel par Excel).
Le code IL montre également que le « call » (de Math.Log) n’est plus fait sur la même adresse (???).

Pourrais t’on m’expliquer comment est fait la résolution de référence lors du chargement de l’Assembly par EXCEL ?

Bertrand

P.S : je tiens à disposition un projet d’exemple pour ceux qui souhaiterait voir de plus près.

Remarque : j’ai essayer de charger ma DLL de calcul dans un AppDomain séparé, mais l’opération est impossible
http://www.west-wind.com/Weblog/posts/1358.aspx
http://blogs.msdn.com/suzcook/archiv.../16/57188.aspx