public override void SetMoveOperations(string folder, UtilSettings utilSettings) { try { string extFolder = ExtensionLoader.DefaultExtensionsFolder; if (System.IO.Directory.Exists(folder)) { ExtensionLoader loader = new ExtensionLoader(); ExtensionFolder loaderFolder = new ExtensionFolder(folder, ExtensionFolder.SearchTypeEnum.OneLevelOnly, false); loader.SetExtensionFolders(loaderFolder.ToSingleArray()); List <string> validExtensions = new List <string>(); ICollection <Extension <Autodesk.Connectivity.Explorer.Extensibility.IExplorerExtension> > extensions1 = loader.FindExtensions <Autodesk.Connectivity.Explorer.Extensibility.IExplorerExtension>(); foreach (Extension ext in extensions1) { validExtensions.Add(System.IO.Directory.GetParent(ext.Location).FullName); } ICollection <Extension <Autodesk.Connectivity.WebServices.IWebServiceExtension> > extensions2 = loader.FindExtensions <Autodesk.Connectivity.WebServices.IWebServiceExtension>(); foreach (Extension ext in extensions2) { validExtensions.Add(System.IO.Directory.GetParent(ext.Location).FullName); } ICollection <Extension <Autodesk.Connectivity.JobProcessor.Extensibility.IJobHandler> > extensions3 = loader.FindExtensions <Autodesk.Connectivity.JobProcessor.Extensibility.IJobHandler>(); foreach (Extension ext in extensions3) { validExtensions.Add(System.IO.Directory.GetParent(ext.Location).FullName); } //string[] subFolders = System.IO.Directory.GetDirectories(folder); foreach (string subFolder in validExtensions) { string folderName = Path.GetFileName(subFolder); utilSettings.FolderMoveOperations.Add(new FolderMove( subFolder, Path.Combine(extFolder, folderName))); } } } catch { } }