private void LoadAssembliesIntoDynamo( DynamoLoader loader, ILogger logger, LibraryServices libraryServices) { var assemblies = LoadAssembliesInBinDirectory(logger); // filter the assemblies var zeroTouchAssemblies = new List<Assembly>(); var nodeModelAssemblies = new List<Assembly>(); foreach (var assem in assemblies) { if (loader.ContainsNodeModelSubType(assem)) { nodeModelAssemblies.Add(assem); } else { zeroTouchAssemblies.Add(assem); } } // load the zero touch assemblies foreach (var zeroTouchAssem in zeroTouchAssemblies) { libraryServices.ImportLibrary(zeroTouchAssem.Location, logger); } // load the node model assemblies foreach (var nodeModelAssem in nodeModelAssemblies) { var nodes = loader.LoadNodesFromAssembly(nodeModelAssem); nodes.ForEach(x => LoadedTypes.Add(x)); } }