/// <summary> /// 注册一个扩展。 /// </summary> /// <param name="kernelBuilder">内核建设者。</param> /// <param name="assembly">扩展程序集。</param> /// <param name="isMinimumShellDescriptor">是否迷你外壳描述符。</param> /// <returns>内核建设者。</returns> public static IKernelBuilder RegisterExtension(this IKernelBuilder kernelBuilder, Assembly assembly, bool isMinimumShellDescriptor) { kernelBuilder.OnStarting( builder => { builder.RegisterType <ExtensionFolders>().As <IExtensionFolders>().SingleInstance(); builder.RegisterType <ExtensionMinimumShellDescriptorProvider>().As <IMinimumShellDescriptorProvider>().SingleInstance(); }, "RegisterExtensions"); var description = new ExtensionFolders.SimpleExtensionDescription { Id = assembly.GetName().Name, Type = "Module", Location = "~/" }; Descriptions.Add(description); if (isMinimumShellDescriptor) { ExtensionMinimumShellDescriptorProvider.Features.Add(description.Id); } return(kernelBuilder); }
/// <summary> /// 注册一个扩展。 /// </summary> /// <param name="kernelBuilder">内核建设者。</param> /// <param name="assembly">扩展程序集。</param> /// <param name="isMinimumShellDescriptor">是否迷你外壳描述符。</param> /// <returns>内核建设者。</returns> public static IKernelBuilder RegisterExtension(this IKernelBuilder kernelBuilder, Assembly assembly, bool isMinimumShellDescriptor) { kernelBuilder.OnStarting( builder => { builder.RegisterType<ExtensionFolders>().As<IExtensionFolders>().SingleInstance(); builder.RegisterType<ExtensionMinimumShellDescriptorProvider>().As<IMinimumShellDescriptorProvider>().SingleInstance(); }, "RegisterExtensions"); var description = new ExtensionFolders.SimpleExtensionDescription { Id = assembly.GetName().Name, Type = "Module", Location = "~/" }; Descriptions.Add(description); if (isMinimumShellDescriptor) { ExtensionMinimumShellDescriptorProvider.Features.Add(description.Id); } return kernelBuilder; }