【发布时间】:2014-05-29 07:50:20
【问题描述】:
我有 C# .Net 4.0 COM 可互操作库,它使用相同的通用帮助库...
例如: .Net COM 互操作库 1(比如库名称:netCom1.dll) .Net COM 互操作库 2(比如库名称:netCom2.dll) 两者都引用相同的(公共库)lib1.dll、lib2.dll 和 lib3.dll。
他们的输出目录是 .Net COM 互操作库 1 /bin => netCom1.dll、lib1.dll、lib2.dll 和 lib3.dll。 .Net COM 互操作库 2 /bin => netCom2.dll、lib1.dll、lib2.dll 和 lib3.dll
现在,这些 COM 互操作库在单帧进程中运行。 (框架.exe)。 但我观察到的是,即使公共库 lib1.dll、lib2.dll 和 lib3.dll 位于 netCom1.dll 和 netCom2.dll 的不同文件夹中,当它运行框架时,exe 时,这些公共库只加载一次,即netCom1.dll 和 netCom2.dll 的静态变量是一样的。
有什么方法可以让 netCom1.dll 引用其文件夹的 lib1.dll、lib2.dll 和 lib3.dll 和 netCom2.dll 来引用其文件夹的 lib1.dll、lib2.dll 和 lib3.dll com 可操作库在单帧进程中加载。
【问题讨论】:
-
这些
libX.dll库的本质是什么 - 它们是 .NET 程序集、COM DLL 还是普通的 Windows DLL? -
常用库(libX.dll)是简单的.Net 4.0 dll。