【发布时间】:2009-07-10 19:11:37
【问题描述】:
我在我的两个 C# 应用程序中使用(和引用)两个第 3 方 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 吗?
谢谢, 乔
【问题讨论】:
-
这些是不同的应用程序吗?在这种情况下,单线程访问不应该有任何问题,因为每个进程都会正确处理。你能解释一下为什么你认为存在僵局吗?