从不同的文件夹加载相同的命名库

时间:2014-04-15 05:48:40

标签: c# dll com

我有C#.Net 4.0 COM可互操作的库,它使用相同的公共帮助程序库...

对于前: .Net COM interop Library 1(比如库名:netCom1.dll) .Net COM互操作库2(比如库名:netCom2.dll)  两者都指向相同的(公共库)lib1.dll,lib2.dll和lib3.dll。

他们的输出目录是 .Net COM interop Library 1 / bin => netCom1.dll,lib1.dll,lib2.dll和lib3.dll。 .Net COM interop Library 2 / bin => netCom2.dll,lib1.dll,lib2.dll和lib3.dll

现在,这些COM互操作库在单帧进程中运行。 (Frame.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可操作的库在单帧过程中加载。

1 个答案:

答案 0 :(得分:1)

要执行此操作,您需要在流程中创建多个AppDomain,并在其自己的AppDomain中运行每个代码。