We use cookies to give you the best experience on our website. If you continue to browse, then you agree to our privacy policy and cookie policy. Image for the cookie policy date

Problem running applications using 2.0.0.1 when 2.0.0.5 is installed.

Hi, I am trying to run an application which was built using Syncfusion 2.0.0.1, but the machine I am running it on has 2.0.0.5 installed. When the application gets installed the 2.0.0.1 DLLs are placed in the application directory. However, when I run the application it is finding the new 2.0.0.5 DLLs in the GAC and the application throws an exception (caused by a difference between the two versions). Why is it using the DLLs in the GAC rather than DLLs in the application folder? I didn''t think it was possible to load a DLL if the version didn''t match exactly? Any help is appreciated.

4 Replies

AD Administrator Syncfusion Team December 8, 2003 06:54 PM UTC

Figured it out. Syncfusion uses .config files which contain the following: And because the GAC is checked BEFORE the application folder the application ends up binding to version 2.0.1.0.


AD Administrator Syncfusion Team December 8, 2003 06:57 PM UTC

Hmmm.. doesn''t like the XML I tried to quote... Anyway the .config file basically contains the line: bindingRedirect oldVersion="2.0.0.1-2.0.0.29" newVersion="2.0.1.0 Just so that you know.


GR Greg September 28, 2004 02:53 PM UTC

I find this disturbing, since I recently discovered my application using the GAC SF dlls even though I had dlls in my app''s running directory. I foresee a problem in which my application is totally within a directory and using Grid 2.0.x, then the user installs a product using Grid 2.y.x which it installs into the GAC. My understanding is that my application will then start using the 2.y.x from the GAC (against my will), which could cause incompatibility bugs. How can I ensure that my application uses only the SF dlls in my installed directory and never the GAC? I''d rather not "hardcode" them to use a particular version of Grid, but that may be the only way. Surely I am missing something simple, as I do not have full understanding of .Net assemblies yet. Thanks for your advice.


AD Administrator Syncfusion Team September 28, 2004 10:15 PM UTC

Hi Greg, a) This is how the .NET Framework works. If there is a version of the assembly your application links to in the GAC, it will be used as noted in the previous posting. b) You need to set the CopyLocal property in References for the Syncfusion assemblies to True and also ensure that the Syncfusion assemblies are not in the GAC. Regards Arun

Loader.
Live Chat Icon For mobile
Up arrow icon