Hello. My program has to use third party components located in several
external libraries.
Those components, also as my program, are usually been changed.
The problem is to make my program use newest versions of external dlls, when
they were during my program compilation.
As far as I know, there are only 2 methods of using components storied in
external dlls:
1. Just setting reference to those libraries. But it does not solve the
problem because newest Assembly.FullNa me is not the same.
2. Creating a library which implements base Interfaces. So external
components just inherits those interfaces. It also doesn't solve the problem
because sometimes I have to change the base library (changes from
Debug/Release build versions, including new Interfaces and so on). Earlier
compiled external dlls does not recognize new base library (see item 1).
I rally don't want to write intermediate class like this one:
public class IntermediateCla ss1 {
object srcClassObject;
public int Method1(){
return srcClassObject. GetType().Invok eMember("Method 1",
BindingFlags.Pu blic | BindingFlags.In vokeMethod, null, srcClassObject, new
object [] {});
}
}
I know, the library version protection was made to solve the "Dll hell"
problem, but didn't is create a new one?
external libraries.
Those components, also as my program, are usually been changed.
The problem is to make my program use newest versions of external dlls, when
they were during my program compilation.
As far as I know, there are only 2 methods of using components storied in
external dlls:
1. Just setting reference to those libraries. But it does not solve the
problem because newest Assembly.FullNa me is not the same.
2. Creating a library which implements base Interfaces. So external
components just inherits those interfaces. It also doesn't solve the problem
because sometimes I have to change the base library (changes from
Debug/Release build versions, including new Interfaces and so on). Earlier
compiled external dlls does not recognize new base library (see item 1).
I rally don't want to write intermediate class like this one:
public class IntermediateCla ss1 {
object srcClassObject;
public int Method1(){
return srcClassObject. GetType().Invok eMember("Method 1",
BindingFlags.Pu blic | BindingFlags.In vokeMethod, null, srcClassObject, new
object [] {});
}
}
I know, the library version protection was made to solve the "Dll hell"
problem, but didn't is create a new one?
Comment