I need to be able to call utilities from different versions of the same assembly both residing in GAC:
gacutil /l TestAssembly
TestAssembly.dll, Version=1.0.0.0 ....
TestAssembly.dll, Version=2.0.0.0 ....
And somewhere in code I need to dynamically load either one:
TestObject testObject;
if (loadFromVersion1)
{
testObject = // instantiate test object from the first assembly
}
else
{
testObject = // instantiate test object from the second assembly
}
Is there a way to do this without reflection (i know how to accomplish this with reflection) and use strongly typed objects instead?