I'm using (and referencing) two 3rd party dlls (a.dll, and b.dll) in two of my C# applications. I'm getting a repeatable problem where both applications hang while making a call to a function in the 3rd party library.
I tried to make a copy of a.dll and b.dll (a2.dll, and b2.dll) and use that in the second application, but it turns out that a.dll references b.dll, anb b.dll references a.dll and this does not load properly.
I suspect that there is a deadlock but in the 3rd party library. I can't use locking to prevent this. Each application enforces locking to make sure that that app only has one thread accessing the library at a time, but I can't lock across both programs.
So, my question is how can I solve this problem?
Can I tell the OS (Windows XP) that I don't want the dll to be shared?
Thanks, Joe