Thank you for your feedback.
We understand your position and your concerns. Therefore I looked at your application in detail and I think that I found a suitable solution.
When using assemblies from different versions in the same application, we cannot guarantee that they will coexist without any collisions and that is exactly what my colleague wanted to say. However, by using reflection like you said, it is possible to create a complex plugin system where different plugins use different third party components and assemblies which have different versions. If this is the case, you should consider some of the specifics that the .Net framework requires.
The Assembly.Load method loads the assembly in the current application domain where the application exists. Once loaded, this assembly can not be unloaded until the whole domain is unloaded. In order to avoid any confrontation between assemblies with different versions you have to use different application domains. This way you can instantiate a type in another application domain, execute any methods on it and then unload the domain, and thus unlock the assembly and remove any references from memory. This is quite a common scenario for plug-ins.
You should follow these steps:
1. Create a new AppDomain by using the AppDomain.CreateDomain method.
2. Use the CreateInstanceAndUnwrap method to create an object in the new AppDomain.
3. Extend the MarshalByRefObject interface to use .NET Remoting to access objects in the newAppDomain.
4. Unload the domain when it is no longer needed.
You can find a modified version of your application in your support ticket regarding the same issue.
Please, note that this solution has not been tested and we do not guarantee that it will work as you would like it to.
Finally, we have a question, which we hope you can clear for us. You said that you were left with the impression that two Telerik versions can be used in the same application; do you remember what sentence or help article left you with that impression? This will help us improve our documentation and fix this in order to avoid future misunderstandings of this kind. Thank you in advance.
the Telerik team
Do you want to have your say when we set our development plans?
Do you want to know when a feature you care about is added or when a bug fixed?
Telerik Public Issue Tracking
system and vote to affect the priority of the items