J'utilise (et référence) deux dlls tiers (a.dll et b.dll) dans deux de mes applications C#. Je reçois un problème reproductible où les deux applications se bloquent lors d'un appel à une fonction dans la bibliothèque tierce.Impasse dans la 3ème partie dll
J'ai essayé de faire une copie de a.dll et b.dll (a2.dll, et b2.dll) et l'utiliser dans la deuxième application, mais il s'avère que a.dll références b.dll, anb b.dll fait référence à a.dll et cela ne se charge pas correctement.
Je suspecte qu'il y ait un interblocage mais dans la bibliothèque 3ème partie. Je ne peux pas utiliser le verrouillage pour empêcher cela. Chaque application impose le verrouillage pour s'assurer que cette application n'a qu'un seul thread accédant à la bibliothèque à la fois, mais je ne peux pas bloquer les deux programmes. Donc, ma question est de savoir comment puis-je résoudre ce problème? Puis-je dire au système d'exploitation (Windows XP) que je ne veux pas que la DLL soit partagée?
Merci, Joe
S'agit-il d'applications distinctes? Dans ce cas, vous ne devriez pas avoir de problèmes avec un accès à un seul thread, car chaque processus le gérera correctement. Pouvez-vous clarifier pourquoi vous pensez qu'il y a une impasse. –