public IConventionPolicyContainer ForAllControllersInAssembly(Assembly assembly)
        {
            var assemblyScanner = new AssemblyScanner();

            assemblyScanner.Assembly(assembly);
            assemblyScanner.With <ControllerTypeScanner>();
            var controllerTypes = assemblyScanner.Scan();

            return(CreateConventionPolicyContainerFor(controllerTypes));
        }
        public override IPolicyContainerConfiguration ForAllControllers()
        {
            var assemblyScanner = new AssemblyScanner();

            assemblyScanner.Assembly(GetType().Assembly);
            assemblyScanner.With <ControllerTypeScanner>();
            var controllerTypes = assemblyScanner.Scan();

            return(CreateConventionPolicyContainerFor(controllerTypes));
        }
示例#3
0
 public void AddAssembly(string assemblyName)
 {
     try
     {
         Assembly assembly = AppDomain.CurrentDomain.Load(assemblyName);
         _assemblyScanner.Assembly(assembly);
     }
     catch (Exception ex)
     {
         _pluginGraph.Log.RegisterError(101, ex, assemblyName);
     }
 }
        public IConventionPolicyContainer ForAllControllersInNamespaceContainingType <TType>()
        {
            var assembly = typeof(TType).Assembly;

            var assemblyScanner = new AssemblyScanner();

            assemblyScanner.Assembly(assembly);
            assemblyScanner.With <ControllerTypeScanner>();
            assemblyScanner.IncludeNamespaceContainingType <TType>();
            var controllerTypes = assemblyScanner.Scan();

            return(CreateConventionPolicyContainerFor(controllerTypes));
        }
        public IConventionPolicyContainer ForAllControllersInAssemblyThatInherit <TType>()
            where TType : IController
        {
            var assembly = typeof(TType).Assembly;

            var assemblyScanner = new AssemblyScanner();

            assemblyScanner.Assembly(assembly);
            assemblyScanner.With <ControllerTypeScanner>();
            var controllerTypes = assemblyScanner.Scan <TType>();

            return(CreateConventionPolicyContainerFor(controllerTypes));
        }
 public void UsingDefaultConventionsResolvesCorrectly()
 {
     using ( IKernel kernel = new StandardKernel() )
     {
         var scanner = new AssemblyScanner();
         scanner.Assembly( Assembly.GetExecutingAssembly() );
         scanner.UsingDefaultConventions();
         kernel.Scan( scanner );
         var instance = kernel.Get<IDefaultConvention>();
         Assert.NotNull( instance );
         Assert.Equal( typeof (DefaultConvention), instance.GetType() );
     }
 }
        public void CanGetPluginFamilyFromPluginGraphWithNoParameters()
        {
            var builder = new PluginGraphBuilder();
            var scanner = new AssemblyScanner();

            scanner.Assembly(GetType().Assembly);

            builder.AddScanner(scanner);
            var graph = builder.Build();

            graph.Families[typeof(IGenericService <int>)].ShouldBeTheSameAs(
                graph.Families[typeof(IGenericService <int>)]);

            graph.Families[typeof(IGenericService <string>)].ShouldBeTheSameAs(
                graph.Families[typeof(IGenericService <string>)]);

            graph.Families[typeof(IGenericService <>)].ShouldBeTheSameAs(
                graph.Families[typeof(IGenericService <>)]);
        }
示例#8
0
        public static PluginGraph BuildGraphFromAssembly(Assembly assembly)
        {
            var builder = new PluginGraphBuilder();
            var scanner = new AssemblyScanner();
            scanner.Assembly(assembly);

            builder.AddScanner(scanner);

            return builder.Build();
        }