I have an interesting situation. In my project I have five .aspx files (corresponding five server-side .cs files) all of which are using Infragistics old v10.3 version.
Now we are experimenting to use the latest v22.1 version in just ONE of the files (to see if it works) for which I added the new versions in the reference (along with the old ones). The old versions are still needed since the other four files are dependent on that.
Now I get the build successfully where the experimented file is using the new v22.1 and other files are using v10.1.
My web.config has these entries:
<assemblies> <add assembly="Infragistics35.WebUI.Shared.v10.3, Version=10.3.20103.2134, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb" /> <add assembly="Infragistics45.WebUI.Shared.v22.1, Version=22.1.20221.11, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb" /> </assemblies>
However, during the run-time I see the following issue:
The type 'Infragistics.Web.UI.Framework.SlideFadeAnimation' exists in both 'c:\Windows\Microsoft.NET\assembly\GAC_MSIL\Infragistics45.Web.v22.1\v4.0_22.1.20221.11__7dd5c3163f2cd0cb\Infragistics45.Web.v22.1.dll' and 'c:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\webclient2\927f5ef9\7c333390\assembly\dl3\18450a77\7c897304_1f06d701\Infragistics35.Web.v10.3.DLL'
Any idea, how to resolve that?
The assemblies in each volume release are versioned, tested, and compatible together with each other, they all share the same CLR. If you were two use assemblies from different Infragistics versions or the same DLL from two different versions the result would be the error you are getting that some property or method exist in both DLLs. To overcome this the best approach is to use assemblies from the same version and to not mix versions.
There is another way to compile, while having DLLs from different version. Below you can find a forum post that demonstrates how this could be done with the help of versionless assemblies:
Please keep in mind that this is also not recommended approach, the reason for this is that even though you would be able to run the application, it will not be compatible with the modern browsers, since the old versions are out of the Product Lifecycle and this would only narrow your options.
Regards, Ivan Kitanov