private void ConfigureReferencedServices(IServiceCollection services, string provider) { _reporter.WriteVerbose(DesignStrings.FindingReferencedServices(_startupAssembly.GetName().Name)); _reporter.WriteVerbose(DesignStrings.FindingReferencedServices(_assembly.GetName().Name)); var references = _startupAssembly.GetCustomAttributes <DesignTimeServicesReferenceAttribute>() .Concat(_assembly.GetCustomAttributes <DesignTimeServicesReferenceAttribute>()) .Distinct() .ToList(); if (references.Count == 0) { _reporter.WriteVerbose(DesignStrings.NoReferencedServices); return; } foreach (var reference in references) { if (reference.ForProvider != null && !string.Equals(reference.ForProvider, provider, StringComparison.OrdinalIgnoreCase)) { continue; } var designTimeServicesType = Type.GetType(reference.TypeName, throwOnError: true) !; _reporter.WriteVerbose( DesignStrings.UsingReferencedServices(designTimeServicesType.Assembly.GetName().Name)); ConfigureDesignTimeServices(designTimeServicesType, services); } }
private void ConfigureReferencedServices(IServiceCollection services) { _reporter.WriteVerbose(DesignStrings.FindingReferencedServices(_startupAssembly.GetName().Name)); var references = _startupAssembly.GetCustomAttributes <DesignTimeServicesReferenceAttribute>().ToList(); if (references.Count == 0) { _reporter.WriteVerbose(DesignStrings.NoReferencedServices); return; } foreach (var reference in references) { var designTimeServicesType = Type.GetType(reference.TypeName, throwOnError: true); _reporter.WriteVerbose( DesignStrings.UsingReferencedServices(designTimeServicesType.Assembly.GetName().Name)); ConfigureDesignTimeServices(designTimeServicesType, services); } }