public AddinScanDataFileGenerator(AddinDatabase database, AddinRegistry registry, string rootFolder) : base(database)
        {
            this.database   = database;
            this.rootFolder = Path.GetFullPath(rootFolder);

            assemblyIndex = new AssemblyIndex();
            locator       = new AssemblyLocator(database, registry, assemblyIndex);
            scanner       = new AddinScanner(database, locator);
        }
Example #2
0
        public string GetAssemblyLocation(string fullName)
        {
            if (index == null)
            {
                index = new AssemblyIndex();
                if (registry.StartupDirectory != null)
                {
                    VisitFolder(null, registry.StartupDirectory, null, false);
                }
                foreach (string dir in registry.GlobalAddinDirectories)
                {
                    VisitFolder(null, dir, AddinDatabase.GlobalDomain, true);
                }
            }

            return(index.GetAssemblyLocation(fullName));
        }
 public AssemblyLocator(AddinDatabase database, AddinRegistry registry, AssemblyIndex index)
 {
     this.index    = index;
     globalLocator = new AssemblyLocatorVisitor(database, registry, false);
 }