/// <inheritdoc/> public void RegisterImportersAndProcessors(IEnumerable <Assembly> additionalAssemblies = null) { Contract.EnsureNot(registered, UltravioletStrings.ContentHandlersAlreadyRegistered); Contract.EnsureNotDisposed(this, Disposed); var asmCore = typeof(UltravioletContext).Assembly; var asmImpl = Ultraviolet.GetType().Assembly; var asmEntry = Assembly.GetEntryAssembly(); var asmShim = Ultraviolet.PlatformCompatibilityShimAssembly; var asmViews = Ultraviolet.ViewProviderAssembly; var assemblies = new[] { asmCore, asmImpl, asmShim, asmViews } .Union(additionalAssemblies ?? Enumerable.Empty <Assembly>()).Where(x => x != null).Distinct(); foreach (var asm in assemblies) { RegisterImportersAndProcessors(asm); } if (asmEntry != null) { RegisterImportersAndProcessors(asmEntry); } registered = true; }
/// <inheritdoc/> public void RegisterImportersAndProcessors(IEnumerable <Assembly> additionalAssemblies) { Contract.EnsureNot(registered, UltravioletStrings.ContentHandlersAlreadyRegistered); var asmUltravioletCore = typeof(UltravioletContext).Assembly; var asmUltravioletImpl = Ultraviolet.GetType().Assembly; var asmUltravioletPlatform = Ultraviolet.GetPlatform().GetType().Assembly; var asmUltravioletContent = Ultraviolet.GetContent().GetType().Assembly; var asmUltravioletGraphics = Ultraviolet.GetGraphics().GetType().Assembly; var asmUltravioletAudio = Ultraviolet.GetAudio().GetType().Assembly; var asmUltravioletInput = Ultraviolet.GetInput().GetType().Assembly; var asmUltravioletUI = Ultraviolet.GetUI().GetType().Assembly; var assemblies = new[] { asmUltravioletCore, asmUltravioletImpl, asmUltravioletPlatform, asmUltravioletContent, asmUltravioletGraphics, asmUltravioletAudio, asmUltravioletInput, asmUltravioletUI }.Union(additionalAssemblies ?? Enumerable.Empty <Assembly>()).Where(x => x != null).Distinct(); foreach (var asm in assemblies) { importers.RegisterAssembly(asm); processors.RegisterAssembly(asm); } registered = true; }