我在我的两个 C# 应用程序中使用(和引用)两个 3rd 方 dll(a.dll 和 b.dll)。我遇到了一个可重复的问题,即两个应用程序在调用 3rd 方库中的函数时都挂起。
我试图复制 a.dll 和 b.dll(a2.dll 和 b2.dll)并在第二个应用程序中使用它,但事实证明 a.dll 引用 b.dll,anb b.dll 引用a.dll 并且无法正确加载。
我怀疑在 3rd 方库中存在死锁。我不能使用锁定来防止这种情况。每个应用程序都强制执行锁定以确保该应用程序一次只有一个线程访问库,但我无法锁定两个程序。
所以,我的问题是如何解决这个问题?
我可以告诉操作系统(Windows XP)我不想共享 dll 吗?
谢谢,乔