Divelements Community
Customer discussion of all Divelements products

FileNotFoundException in SandDock designer - fixed!

Latest post 12-19-2007 15:24 by JudahGabriel. 0 replies.
  • 12-19-2007 15:24

    FileNotFoundException in SandDock designer - fixed!

    For some time now, I've been getting an error when adding SandDock to a Visual Studio designer:

    FileNotFoundException: Unable to load SandDock 2.4.3.0 or one of it's dependencies...

    This was surprising to me because I had uninstalled SandDock 2.4.3.0, then installed SandDock 3.0. There was no trace of SandDock 2.4 on my machine; where the heck was Visual Studio pulling this from?!

    I fired up the .NET SDK utility Fusion Log Viewer (FUSLOGVW.exe) and watched the assemblies that got loaded when I tried to add SandDock to a form in Visual Studio.

    I noticed 2 lines in FUSLOGVW that indicated a problem:
    devenv: SandDock.Design.dll 1.0.0.1
    devenv: SandDock.dll 2.4.3.0

    It appears that SandDock.Design.dll is trying to load SandDock 2.4 -- a version which didn't exist on my machine!

    I retraced my steps: I uninstalled all versions of SandDock. Then I installed version 2.4. Then I uninstalled that. I noted that after uninstallation, SandDock.Design.dll was still in the global assembly cache (GAC)! This is a bug in the uninstall program for SandDock 2.4.

    Since the uninstaller wasn't doing it's job, I manually uninstalled SandDock.Design.dll from the GAC.

    After manually removing the design dll from the GAC, I then installed SandDock 3. That worked!

    In summary, the SandDock 2.4 uninstaller is flawed; it doesn't remove SandDock.Design.dll from the GAC. Because of this, installing new versions of SandDock do not overwrite the SandDock.Design.dll, possibly because the assembly version is still the same (even though the dll has apparently changed). The end result is exceptions being thrown when you tried to add SandDock to the designer. To fix this, simply uninstall all SandDock versions, then manually remove SandDock.Design.dll from the GAC, then install the latest version of SandDock.

    I hope this helps other folks.
    Shalom!
    -Judah
Page 1 of 1 (1 items) | RSS
Copyright © 2008 Divelements Limited
Powered by Community Server (Commercial Edition), by Telligent Systems