public ModuleLoader(IModuleProject project, IConfiguration configuration, AssemblyLoadContext assemblyLoadContext) { _project = project; _assemblyLoadContext = assemblyLoadContext; _assemblyLoadContext.Resolving += DefaultOnResolving; ModuleTypeMap = new ModuleTypeMap(configuration); }
public void DiscoverTypes(ModuleTypeMap typeMap) { var types = _assembly.GetExportedTypes(); var controllers = types.Where(x => x.IsSubclassOf(typeof(MazeController))).ToList(); typeMap.Controllers.TryAdd(_packageIdentity, controllers); typeMap.Assemblies.Add(_assembly); }