Instead of using DirectoryCatalog, use AggregateCatalog. You will need to write code that will look through all the assemblies in the module directory, and find out if the current instance of one of them that it has already processed, and if not, creates an AssemblyCatalog for this assembly and adds it to AggregateCatalog.
, , , DLL " " .