For the NDepend database, we have no specific dependency in the GAC. However, NDepend verifies that all assemblies are well deployed during installation, each time NDepend runs. Thus, if the user configures the installation (what happens, we notice), he gets a smart MessageBox explaining what is happening and why he should redeploy NDepend. Thanks to this trick, great support was retained.
Our implementation is simply based on Mono.Cecil , which verifies that all assemblies are present where they should be, with the right assembly version. Performing shallow reads on an assembly happens so fast with Mono.Cecil that it does not slow down the startup time.
Patrick from NDepend team
source share