public static IAddInAppBuilder UseAddIns(this IAddInAppBuilder addInAppBuilder, string[] args) { addInAppBuilder.ConfigureFeature(features => { features .AddFeature <AddInsFeature>() .FeatureServices(services => { services.AddSingleton <AddInService>(); }); }); //load addins indicate as auto addins foreach (string name in AutoRegistration.PackagesByName) { AddInTypes addInTypes = TypeLoader.LoadAddInTypes(NamedAddins.DeploymentPackages[name]); addInAppBuilder.ConfigureFeature(features => { features .AddFeature(addInTypes.Feature) .FeatureServices(services => { services.AddSingleton(addInTypes.Interface, addInTypes.Service); }); }); } return(addInAppBuilder); }
public static IAddInAppBuilder UseConsoleLog(this IAddInAppBuilder addInAppBuilder) { addInAppBuilder.ConfigureFeature(features => { features .AddFeature <ConsoleLogFeature>() .FeatureServices(services => { services.AddSingleton <ConsoleLog>(); services.AddSingleton <ILoggerFactory, LoggerFactory>(); }); }); return(addInAppBuilder); }
/// <summary> /// Makes the app use all the required features. /// </summary> /// <param name="addInAppBuilder">Builder responsible for creating the app.</param> /// <returns>App builder's interface to allow fluent code.</returns> public static IAddInAppBuilder UseBaseFeature(this IAddInAppBuilder addInAppBuilder) { addInAppBuilder.ConfigureFeature(features => { features .AddFeature <BaseFeature>() .FeatureServices(services => { services.AddSingleton <App>().AddSingleton((provider) => { return(provider.GetService <App>() as IApp); }); }); }); return(addInAppBuilder); }