我有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可操作的库在单帧过程中加载。
答案 0 :(得分:1)
要执行此操作,您需要在流程中创建多个AppDomain,并在其自己的AppDomain中运行每个代码。