|
From: <jer...@us...> - 2010-02-05 03:07:04
|
Revision: 345
http://structuremap.svn.sourceforge.net/structuremap/?rev=345&view=rev
Author: jeremydmiller
Date: 2010-02-05 03:06:42 +0000 (Fri, 05 Feb 2010)
Log Message:
-----------
made a copy
Modified Paths:
--------------
branches/nhibernate/Source/StructureMap/Configuration/DSL/Expressions/CreatePluginFamilyExpression.cs
branches/nhibernate/Source/StructureMap.sln
Added Paths:
-----------
branches/nhibernate/
branches/nhibernate/Source/StructureMap/Graph/AssemblyScanner.cs
branches/nhibernate/Source/StructureMap/Graph/IAssemblyScanner.cs
branches/nhibernate/Source/StructureMap/StructureMap.csproj
branches/nhibernate/Source/StructureMap.NHibernate/
branches/nhibernate/Source/StructureMap.NHibernate/NHibernateRegistry.cs
branches/nhibernate/bin/FluentNHibernate/
branches/nhibernate/bin/FluentNHibernate/Antlr3.Runtime.dll
branches/nhibernate/bin/FluentNHibernate/Castle.Core.dll
branches/nhibernate/bin/FluentNHibernate/Castle.Core.xml
branches/nhibernate/bin/FluentNHibernate/Castle.DynamicProxy2.dll
branches/nhibernate/bin/FluentNHibernate/Castle.DynamicProxy2.xml
branches/nhibernate/bin/FluentNHibernate/FluentNHibernate.XML
branches/nhibernate/bin/FluentNHibernate/FluentNHibernate.dll
branches/nhibernate/bin/FluentNHibernate/FluentNHibernate.pdb
branches/nhibernate/bin/FluentNHibernate/Iesi.Collections.dll
branches/nhibernate/bin/FluentNHibernate/Iesi.Collections.xml
branches/nhibernate/bin/FluentNHibernate/NHibernate.ByteCode.Castle.dll
branches/nhibernate/bin/FluentNHibernate/NHibernate.ByteCode.Castle.xml
branches/nhibernate/bin/FluentNHibernate/NHibernate.dll
branches/nhibernate/bin/FluentNHibernate/NHibernate.xml
branches/nhibernate/bin/FluentNHibernate/log4net.dll
branches/nhibernate/bin/FluentNHibernate/log4net.xml
branches/nhibernate/cruise.build
Removed Paths:
-------------
branches/nhibernate/Source/StructureMap/Configuration/DSL/AssemblyScannerExtensions.cs
branches/nhibernate/Source/StructureMap/Graph/AssemblyScanner.cs
branches/nhibernate/Source/StructureMap/Graph/IAssemblyScanner.cs
branches/nhibernate/Source/StructureMap/StructureMap.csproj
branches/nhibernate/cruise.build
Deleted: branches/nhibernate/Source/StructureMap/Configuration/DSL/AssemblyScannerExtensions.cs
===================================================================
--- trunk/Source/StructureMap/Configuration/DSL/AssemblyScannerExtensions.cs 2010-02-04 23:30:20 UTC (rev 341)
+++ branches/nhibernate/Source/StructureMap/Configuration/DSL/AssemblyScannerExtensions.cs 2010-02-05 03:06:42 UTC (rev 345)
@@ -1,63 +0,0 @@
-using System;
-using StructureMap.Configuration.DSL.Expressions;
-using StructureMap.Graph;
-
-namespace StructureMap.Configuration.DSL
-{
- /// <summary>
- /// Extend the assembly scanning DSL to support the built-in registration conventions
- /// </summary>
- public static class AssemblyScannerExtensions
- {
- /// <summary>
- /// Adds the DefaultConventionScanner to the scanning operations. I.e., a concrete
- /// class named "Something" that implements "ISomething" will be automatically
- /// added to PluginType "ISomething"
- /// </summary>
- public static ConfigureConventionExpression WithDefaultConventions(this IAssemblyScanner assemblyScanner)
- {
- var convention = new DefaultConventionScanner();
- assemblyScanner.With(convention);
- return new ConfigureConventionExpression(convention);
- }
-
- /// <summary>
- /// Scans for PluginType's and Concrete Types that close the given open generic type
- /// </summary>
- /// <example>
- ///
- /// </example>
- /// <param name="openGenericType"></param>
- public static ConfigureConventionExpression ConnectImplementationsToTypesClosing(this IAssemblyScanner assemblyScanner, Type openGenericType)
- {
- var convention = new GenericConnectionScanner(openGenericType);
- assemblyScanner.With(convention);
- return new ConfigureConventionExpression(convention);
- }
-
- /// <summary>
- /// Automatically registers all concrete types without primitive arguments
- /// against its first interface, if any
- /// </summary>
- public static ConfigureConventionExpression RegisterConcreteTypesAgainstTheFirstInterface(this IAssemblyScanner assemblyScanner)
- {
- var convention = new FirstInterfaceConvention();
- assemblyScanner.With(convention);
- return new ConfigureConventionExpression(convention);
- }
-
- /// <summary>
- /// Directs the scanning to automatically register any type that is the single
- /// implementation of an interface against that interface.
- /// The filters apply
- /// </summary>
- public static ConfigureConventionExpression SingleImplementationsOfInterface(this IAssemblyScanner assemblyScanner)
- {
- var convention = new ImplementationMap();
- assemblyScanner.With(convention);
- assemblyScanner.ModifyGraphAfterScan(convention.RegisterSingleImplementations);
- return new ConfigureConventionExpression(convention);
- }
-
- }
-}
\ No newline at end of file
Modified: branches/nhibernate/Source/StructureMap/Configuration/DSL/Expressions/CreatePluginFamilyExpression.cs
===================================================================
--- trunk/Source/StructureMap/Configuration/DSL/Expressions/CreatePluginFamilyExpression.cs 2010-02-04 23:30:20 UTC (rev 341)
+++ branches/nhibernate/Source/StructureMap/Configuration/DSL/Expressions/CreatePluginFamilyExpression.cs 2010-02-05 03:06:42 UTC (rev 345)
@@ -205,10 +205,10 @@
/// <returns></returns>
public CreatePluginFamilyExpression<PLUGINTYPE> Singleton()
{
- return lifecycleIs(InstanceScope.Singleton);
+ return LifecycleIs(InstanceScope.Singleton);
}
- private CreatePluginFamilyExpression<PLUGINTYPE> lifecycleIs(InstanceScope lifecycle)
+ public CreatePluginFamilyExpression<PLUGINTYPE> LifecycleIs(InstanceScope lifecycle)
{
_alterations.Add(family => family.SetScopeTo(lifecycle));
return this;
@@ -220,7 +220,7 @@
/// <returns></returns>
public CreatePluginFamilyExpression<PLUGINTYPE> HybridHttpOrThreadLocalScoped()
{
- return lifecycleIs(InstanceScope.Hybrid);
+ return LifecycleIs(InstanceScope.Hybrid);
}
/// <summary>
@@ -229,7 +229,7 @@
/// <returns></returns>
public CreatePluginFamilyExpression<PLUGINTYPE> HttpContextScoped()
{
- return lifecycleIs(InstanceScope.HttpContext);
+ return LifecycleIs(InstanceScope.HttpContext);
}
Deleted: branches/nhibernate/Source/StructureMap/Graph/AssemblyScanner.cs
===================================================================
--- trunk/Source/StructureMap/Graph/AssemblyScanner.cs 2010-02-04 23:30:20 UTC (rev 341)
+++ branches/nhibernate/Source/StructureMap/Graph/AssemblyScanner.cs 2010-02-05 03:06:42 UTC (rev 345)
@@ -1,284 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Diagnostics;
-using System.IO;
-using System.Linq;
-using System.Reflection;
-using StructureMap.Configuration.DSL;
-using StructureMap.TypeRules;
-using StructureMap.Util;
-
-namespace StructureMap.Graph
-{
- public class TypePool
- {
- private readonly Cache<Assembly, Type[]> _types = new Cache<Assembly, Type[]>();
-
- public TypePool(PluginGraph graph)
- {
- _types.OnMissing = assembly =>
- {
- try
- {
- return assembly.GetExportedTypes();
- }
- catch (Exception ex)
- {
- graph.Log.RegisterError(170, ex, assembly.FullName);
- return new Type[0];
- }
- };
- }
-
- public IEnumerable<Type> For(IEnumerable<Assembly> assemblies, CompositeFilter<Type> filter)
- {
- return assemblies.SelectMany(x => _types[x].Where(filter.Matches));
- }
- }
-
-
- public class AssemblyScanner : IAssemblyScanner
- {
- private readonly List<Assembly> _assemblies = new List<Assembly>();
- private readonly List<IRegistrationConvention> _conventions = new List<IRegistrationConvention>();
- private readonly CompositeFilter<Type> _filter = new CompositeFilter<Type>();
-
- private readonly List<Action<PluginGraph>> _postScanningActions = new List<Action<PluginGraph>>();
- private readonly List<ITypeScanner> _scanners = new List<ITypeScanner>();
-
- public AssemblyScanner()
- {
- Convention<FamilyAttributeScanner>();
- Convention<PluggableAttributeScanner>();
- }
-
- public int Count { get { return _assemblies.Count; } }
-
-
- public void Assembly(Assembly assembly)
- {
- if (!_assemblies.Contains(assembly))
- {
- _assemblies.Add(assembly);
- }
- }
-
- public void Assembly(string assemblyName)
- {
- Assembly(AppDomain.CurrentDomain.Load(assemblyName));
- }
-
- [Obsolete("Replace ITypeScanner with IRegistrationConvention")]
- public void With(ITypeScanner scanner)
- {
- _scanners.Fill(scanner);
- }
-
- [Obsolete("Replace ITypeScanner with IRegistrationConvention")]
- public void With<T>() where T : ITypeScanner, new()
- {
- _scanners.RemoveAll(scanner => scanner is T);
-
- ITypeScanner previous = _scanners.FirstOrDefault(scanner => scanner is T);
- if (previous == null)
- {
- With(new T());
- }
- }
-
- public void Convention<T>() where T : IRegistrationConvention, new()
- {
- IRegistrationConvention previous = _conventions.FirstOrDefault(scanner => scanner is T);
- if (previous == null)
- {
- With(new T());
- }
- }
-
- public void LookForRegistries()
- {
- Convention<FindRegistriesScanner>();
- }
-
- public void TheCallingAssembly()
- {
- Assembly callingAssembly = findTheCallingAssembly();
-
- if (callingAssembly != null)
- {
- _assemblies.Add(callingAssembly);
- }
- }
-
- public void AssemblyContainingType<T>()
- {
- _assemblies.Add(typeof (T).Assembly);
- }
-
- public void AssemblyContainingType(Type type)
- {
- _assemblies.Add(type.Assembly);
- }
-
- public FindAllTypesFilter AddAllTypesOf<PLUGINTYPE>()
- {
- return AddAllTypesOf(typeof (PLUGINTYPE));
- }
-
- public FindAllTypesFilter AddAllTypesOf(Type pluginType)
- {
- var filter = new FindAllTypesFilter(pluginType);
- With(filter);
-
- return filter;
- }
-
- public void IgnoreStructureMapAttributes()
- {
- _conventions.RemoveAll(scanner => scanner is FamilyAttributeScanner);
- _conventions.RemoveAll(scanner => scanner is PluggableAttributeScanner);
- }
-
-
- public void Exclude(Func<Type, bool> exclude)
- {
- _filter.Excludes += exclude;
- }
-
- public void ExcludeNamespace(string nameSpace)
- {
- Exclude(type => type.IsInNamespace(nameSpace));
- }
-
- public void ExcludeNamespaceContainingType<T>()
- {
- ExcludeNamespace(typeof (T).Namespace);
- }
-
- public void Include(Func<Type, bool> predicate)
- {
- _filter.Includes += predicate;
- }
-
- public void IncludeNamespace(string nameSpace)
- {
- Include(type => type.IsInNamespace(nameSpace));
- }
-
- public void IncludeNamespaceContainingType<T>()
- {
- IncludeNamespace(typeof (T).Namespace);
- }
-
- public void ExcludeType<T>()
- {
- Exclude(type => type == typeof (T));
- }
-
- public void ModifyGraphAfterScan(Action<PluginGraph> modifyGraph)
- {
- _postScanningActions.Add(modifyGraph);
- }
-
- public void AssembliesFromApplicationBaseDirectory()
- {
- AssembliesFromApplicationBaseDirectory(a => true);
- }
-
- public void AssembliesFromApplicationBaseDirectory(Predicate<Assembly> assemblyFilter)
- {
- string baseDirectory = AppDomain.CurrentDomain.BaseDirectory;
-
- AssembliesFromPath(baseDirectory, assemblyFilter);
- string binPath = AppDomain.CurrentDomain.SetupInformation.PrivateBinPath;
- if (Directory.Exists(binPath))
- {
- AssembliesFromPath(binPath, assemblyFilter);
- }
- }
-
- public void AssembliesFromPath(string path)
- {
- AssembliesFromPath(path, a => true);
- }
-
- public void AssembliesFromPath(string path, Predicate<Assembly> assemblyFilter)
- {
- IEnumerable<string> assemblyPaths = Directory.GetFiles(path)
- .Where(file =>
- Path.GetExtension(file).Equals(
- ".exe",
- StringComparison.OrdinalIgnoreCase)
- ||
- Path.GetExtension(file).Equals(
- ".dll",
- StringComparison.OrdinalIgnoreCase));
-
- foreach (string assemblyPath in assemblyPaths)
- {
- Assembly assembly = null;
- try
- {
- assembly = System.Reflection.Assembly.LoadFrom(assemblyPath);
- }
- catch
- {
- }
- if (assembly != null && assemblyFilter(assembly)) Assembly(assembly);
- }
- }
-
- public void With(IRegistrationConvention convention)
- {
- _conventions.Fill(convention);
- }
-
- internal void ScanForAll(PluginGraph pluginGraph)
- {
- var registry = new Registry();
-
- pluginGraph.Types.For(_assemblies, _filter).Each(
- type =>
- {
- _scanners.Each(x => x.Process(type, pluginGraph));
- _conventions.Each(c => c.Process(type, registry));
- });
-
- registry.ConfigurePluginGraph(pluginGraph);
- _postScanningActions.Each(x => x(pluginGraph));
- }
-
-
- public bool Contains(string assemblyName)
- {
- foreach (Assembly assembly in _assemblies)
- {
- if (assembly.GetName().Name == assemblyName)
- {
- return true;
- }
- }
-
- return false;
- }
-
- private static Assembly findTheCallingAssembly()
- {
- var trace = new StackTrace(false);
-
- Assembly thisAssembly = System.Reflection.Assembly.GetExecutingAssembly();
- Assembly callingAssembly = null;
- for (int i = 0; i < trace.FrameCount; i++)
- {
- StackFrame frame = trace.GetFrame(i);
- Assembly assembly = frame.GetMethod().DeclaringType.Assembly;
- if (assembly != thisAssembly)
- {
- callingAssembly = assembly;
- break;
- }
- }
- return callingAssembly;
- }
- }
-}
\ No newline at end of file
Copied: branches/nhibernate/Source/StructureMap/Graph/AssemblyScanner.cs (from rev 342, trunk/Source/StructureMap/Graph/AssemblyScanner.cs)
===================================================================
--- branches/nhibernate/Source/StructureMap/Graph/AssemblyScanner.cs (rev 0)
+++ branches/nhibernate/Source/StructureMap/Graph/AssemblyScanner.cs 2010-02-05 03:06:42 UTC (rev 345)
@@ -0,0 +1,338 @@
+using System;
+using System.Collections.Generic;
+using System.Diagnostics;
+using System.IO;
+using System.Linq;
+using System.Reflection;
+using StructureMap.Configuration.DSL;
+using StructureMap.Configuration.DSL.Expressions;
+using StructureMap.TypeRules;
+using StructureMap.Util;
+
+namespace StructureMap.Graph
+{
+ public class TypePool
+ {
+ private readonly Cache<Assembly, Type[]> _types = new Cache<Assembly, Type[]>();
+
+ public TypePool(PluginGraph graph)
+ {
+ _types.OnMissing = assembly =>
+ {
+ try
+ {
+ return assembly.GetExportedTypes();
+ }
+ catch (Exception ex)
+ {
+ graph.Log.RegisterError(170, ex, assembly.FullName);
+ return new Type[0];
+ }
+ };
+ }
+
+ public IEnumerable<Type> For(IEnumerable<Assembly> assemblies, CompositeFilter<Type> filter)
+ {
+ return assemblies.SelectMany(x => _types[x].Where(filter.Matches));
+ }
+ }
+
+
+ public class AssemblyScanner : IAssemblyScanner
+ {
+ private readonly List<Assembly> _assemblies = new List<Assembly>();
+ private readonly List<IRegistrationConvention> _conventions = new List<IRegistrationConvention>();
+ private readonly CompositeFilter<Type> _filter = new CompositeFilter<Type>();
+
+ private readonly List<Action<PluginGraph>> _postScanningActions = new List<Action<PluginGraph>>();
+ private readonly List<ITypeScanner> _scanners = new List<ITypeScanner>();
+
+ public AssemblyScanner()
+ {
+ Convention<FamilyAttributeScanner>();
+ Convention<PluggableAttributeScanner>();
+ }
+
+ public int Count { get { return _assemblies.Count; } }
+
+
+ public void Assembly(Assembly assembly)
+ {
+ if (!_assemblies.Contains(assembly))
+ {
+ _assemblies.Add(assembly);
+ }
+ }
+
+ public void Assembly(string assemblyName)
+ {
+ Assembly(AppDomain.CurrentDomain.Load(assemblyName));
+ }
+
+ [Obsolete("Replace ITypeScanner with IRegistrationConvention")]
+ public void With(ITypeScanner scanner)
+ {
+ _scanners.Fill(scanner);
+ }
+
+ [Obsolete("Replace ITypeScanner with IRegistrationConvention")]
+ public void With<T>() where T : ITypeScanner, new()
+ {
+ _scanners.RemoveAll(scanner => scanner is T);
+
+ ITypeScanner previous = _scanners.FirstOrDefault(scanner => scanner is T);
+ if (previous == null)
+ {
+ With(new T());
+ }
+ }
+
+ public void Convention<T>() where T : IRegistrationConvention, new()
+ {
+ IRegistrationConvention previous = _conventions.FirstOrDefault(scanner => scanner is T);
+ if (previous == null)
+ {
+ With(new T());
+ }
+ }
+
+ public void LookForRegistries()
+ {
+ Convention<FindRegistriesScanner>();
+ }
+
+ public void TheCallingAssembly()
+ {
+ Assembly callingAssembly = findTheCallingAssembly();
+
+ if (callingAssembly != null)
+ {
+ _assemblies.Add(callingAssembly);
+ }
+ }
+
+ public void AssemblyContainingType<T>()
+ {
+ _assemblies.Add(typeof (T).Assembly);
+ }
+
+ public void AssemblyContainingType(Type type)
+ {
+ _assemblies.Add(type.Assembly);
+ }
+
+ public FindAllTypesFilter AddAllTypesOf<PLUGINTYPE>()
+ {
+ return AddAllTypesOf(typeof (PLUGINTYPE));
+ }
+
+ public FindAllTypesFilter AddAllTypesOf(Type pluginType)
+ {
+ var filter = new FindAllTypesFilter(pluginType);
+ With(filter);
+
+ return filter;
+ }
+
+ public void IgnoreStructureMapAttributes()
+ {
+ _conventions.RemoveAll(scanner => scanner is FamilyAttributeScanner);
+ _conventions.RemoveAll(scanner => scanner is PluggableAttributeScanner);
+ }
+
+
+ public void Exclude(Func<Type, bool> exclude)
+ {
+ _filter.Excludes += exclude;
+ }
+
+ public void ExcludeNamespace(string nameSpace)
+ {
+ Exclude(type => type.IsInNamespace(nameSpace));
+ }
+
+ public void ExcludeNamespaceContainingType<T>()
+ {
+ ExcludeNamespace(typeof (T).Namespace);
+ }
+
+ public void Include(Func<Type, bool> predicate)
+ {
+ _filter.Includes += predicate;
+ }
+
+ public void IncludeNamespace(string nameSpace)
+ {
+ Include(type => type.IsInNamespace(nameSpace));
+ }
+
+ public void IncludeNamespaceContainingType<T>()
+ {
+ IncludeNamespace(typeof (T).Namespace);
+ }
+
+ public void ExcludeType<T>()
+ {
+ Exclude(type => type == typeof (T));
+ }
+
+ public void ModifyGraphAfterScan(Action<PluginGraph> modifyGraph)
+ {
+ _postScanningActions.Add(modifyGraph);
+ }
+
+ public void AssembliesFromApplicationBaseDirectory()
+ {
+ AssembliesFromApplicationBaseDirectory(a => true);
+ }
+
+ public void AssembliesFromApplicationBaseDirectory(Predicate<Assembly> assemblyFilter)
+ {
+ string baseDirectory = AppDomain.CurrentDomain.BaseDirectory;
+
+ AssembliesFromPath(baseDirectory, assemblyFilter);
+ string binPath = AppDomain.CurrentDomain.SetupInformation.PrivateBinPath;
+ if (Directory.Exists(binPath))
+ {
+ AssembliesFromPath(binPath, assemblyFilter);
+ }
+ }
+
+ public void AssembliesFromPath(string path)
+ {
+ AssembliesFromPath(path, a => true);
+ }
+
+ public void AssembliesFromPath(string path, Predicate<Assembly> assemblyFilter)
+ {
+ IEnumerable<string> assemblyPaths = Directory.GetFiles(path)
+ .Where(file =>
+ Path.GetExtension(file).Equals(
+ ".exe",
+ StringComparison.OrdinalIgnoreCase)
+ ||
+ Path.GetExtension(file).Equals(
+ ".dll",
+ StringComparison.OrdinalIgnoreCase));
+
+ foreach (string assemblyPath in assemblyPaths)
+ {
+ Assembly assembly = null;
+ try
+ {
+ assembly = System.Reflection.Assembly.LoadFrom(assemblyPath);
+ }
+ catch
+ {
+ }
+ if (assembly != null && assemblyFilter(assembly)) Assembly(assembly);
+ }
+ }
+
+ public void With(IRegistrationConvention convention)
+ {
+ _conventions.Fill(convention);
+ }
+
+ internal void ScanForAll(PluginGraph pluginGraph)
+ {
+ var registry = new Registry();
+
+ pluginGraph.Types.For(_assemblies, _filter).Each(
+ type =>
+ {
+ _scanners.Each(x => x.Process(type, pluginGraph));
+ _conventions.Each(c => c.Process(type, registry));
+ });
+
+ registry.ConfigurePluginGraph(pluginGraph);
+ _postScanningActions.Each(x => x(pluginGraph));
+ }
+
+
+ public bool Contains(string assemblyName)
+ {
+ foreach (Assembly assembly in _assemblies)
+ {
+ if (assembly.GetName().Name == assemblyName)
+ {
+ return true;
+ }
+ }
+
+ return false;
+ }
+
+ private static Assembly findTheCallingAssembly()
+ {
+ var trace = new StackTrace(false);
+
+ Assembly thisAssembly = System.Reflection.Assembly.GetExecutingAssembly();
+ Assembly callingAssembly = null;
+ for (int i = 0; i < trace.FrameCount; i++)
+ {
+ StackFrame frame = trace.GetFrame(i);
+ Assembly assembly = frame.GetMethod().DeclaringType.Assembly;
+ if (assembly != thisAssembly)
+ {
+ callingAssembly = assembly;
+ break;
+ }
+ }
+ return callingAssembly;
+ }
+
+
+
+ /// <summary>
+ /// Adds the DefaultConventionScanner to the scanning operations. I.e., a concrete
+ /// class named "Something" that implements "ISomething" will be automatically
+ /// added to PluginType "ISomething"
+ /// </summary>
+ public ConfigureConventionExpression WithDefaultConventions()
+ {
+ var convention = new DefaultConventionScanner();
+ With(convention);
+ return new ConfigureConventionExpression(convention);
+ }
+
+ /// <summary>
+ /// Scans for PluginType's and Concrete Types that close the given open generic type
+ /// </summary>
+ /// <example>
+ ///
+ /// </example>
+ /// <param name="openGenericType"></param>
+ public ConfigureConventionExpression ConnectImplementationsToTypesClosing(Type openGenericType)
+ {
+ var convention = new GenericConnectionScanner(openGenericType);
+ With(convention);
+ return new ConfigureConventionExpression(convention);
+ }
+
+ /// <summary>
+ /// Automatically registers all concrete types without primitive arguments
+ /// against its first interface, if any
+ /// </summary>
+ public ConfigureConventionExpression RegisterConcreteTypesAgainstTheFirstInterface()
+ {
+ var convention = new FirstInterfaceConvention();
+ With(convention);
+ return new ConfigureConventionExpression(convention);
+ }
+
+ /// <summary>
+ /// Directs the scanning to automatically register any type that is the single
+ /// implementation of an interface against that interface.
+ /// The filters apply
+ /// </summary>
+ public ConfigureConventionExpression SingleImplementationsOfInterface()
+ {
+ var convention = new ImplementationMap();
+ With(convention);
+ ModifyGraphAfterScan(convention.RegisterSingleImplementations);
+ return new ConfigureConventionExpression(convention);
+ }
+
+ }
+}
\ No newline at end of file
Deleted: branches/nhibernate/Source/StructureMap/Graph/IAssemblyScanner.cs
===================================================================
--- trunk/Source/StructureMap/Graph/IAssemblyScanner.cs 2010-02-04 23:30:20 UTC (rev 341)
+++ branches/nhibernate/Source/StructureMap/Graph/IAssemblyScanner.cs 2010-02-05 03:06:42 UTC (rev 345)
@@ -1,182 +0,0 @@
-using System;
-using System.Reflection;
-using StructureMap.Configuration.DSL.Expressions;
-
-namespace StructureMap.Graph
-{
- public interface IAssemblyScanner
- {
- #region Designating Assemblies
-
- /// <summary>
- /// Add an Assembly to the scanning operation
- /// </summary>
- /// <param name="assembly"></param>
- void Assembly(Assembly assembly);
-
- /// <summary>
- /// Add an Assembly by name to the scanning operation
- /// </summary>
- /// <param name="assemblyName"></param>
- void Assembly(string assemblyName);
-
- /// <summary>
- /// Add the currently executing Assembly to the scanning operation
- /// </summary>
- void TheCallingAssembly();
-
- /// <summary>
- /// Add the Assembly that contains type T to the scanning operation
- /// </summary>
- /// <typeparam name="T"></typeparam>
- void AssemblyContainingType<T>();
-
- /// <summary>
- /// Add the Assembly that contains type to the scanning operation
- /// </summary>
- /// <param name="type"></param>
- void AssemblyContainingType(Type type);
-
- /// <summary>
- /// Sweep the designated path and add any Assembly's found in this folder to the
- /// scanning operation
- /// </summary>
- /// <param name="path"></param>
- void AssembliesFromPath(string path);
-
- /// <summary>
- /// Sweep the designated path and add any Assembly's found in this folder to the
- /// scanning operation. The assemblyFilter can be used to filter or limit the
- /// Assembly's that are picked up.
- /// </summary>
- /// <param name="path"></param>
- /// <param name="assemblyFilter"></param>
- void AssembliesFromPath(string path, Predicate<Assembly> assemblyFilter);
-
- /// <summary>
- /// Sweep the application base directory of current app domain and add any Assembly's
- /// found to the scanning operation.
- /// </summary>
- void AssembliesFromApplicationBaseDirectory();
-
- /// <summary>
- /// Sweep the application base directory of current app domain and add any Assembly's
- /// found to the scanning operation. The assemblyFilter can be used to filter or limit the
- /// Assembly's that are picked up.
- /// </summary>
- void AssembliesFromApplicationBaseDirectory(Predicate<Assembly> assemblyFilter);
-
- #endregion
-
- #region Adding TypeScanners
-
- /// <summary>
- /// Adds an ITypeScanner object to the scanning operation
- /// </summary>
- /// <param name="scanner"></param>
- void With(ITypeScanner scanner);
-
- /// <summary>
- /// Creates and adds a new ITypeScanner of type T to this scanning operation
- /// </summary>
- /// <typeparam name="T"></typeparam>
- void With<T>() where T : ITypeScanner, new();
-
- #endregion
-
- #region Other options
-
- /// <summary>
- /// Directs the scanning operation to automatically detect and include any Registry
- /// classes found in the Assembly's being scanned
- /// </summary>
- void LookForRegistries();
-
- /// <summary>
- /// Add all concrete types of the Plugin Type as Instances of Plugin Type
- /// </summary>
- /// <typeparam name="PLUGINTYPE"></typeparam>
- FindAllTypesFilter AddAllTypesOf<PLUGINTYPE>();
-
- /// <summary>
- /// Add all concrete types of the Plugin Type as Instances of Plugin Type
- /// </summary>
- /// <param name="pluginType"></param>
- FindAllTypesFilter AddAllTypesOf(Type pluginType);
-
- /// <summary>
- /// Makes this scanning operation ignore all [PluginFamily] and [Pluggable] attributes
- /// </summary>
- void IgnoreStructureMapAttributes();
-
- #endregion
-
- #region Filtering types
-
- /// <summary>
- /// Exclude types that match the Predicate from being scanned
- /// </summary>
- /// <param name="exclude"></param>
- void Exclude(Func<Type, bool> exclude);
-
- /// <summary>
- /// Exclude all types in this nameSpace or its children from the scanning operation
- /// </summary>
- /// <param name="nameSpace"></param>
- void ExcludeNamespace(string nameSpace);
-
- /// <summary>
- /// Exclude all types in this nameSpace or its children from the scanning operation
- /// </summary>
- /// <typeparam name="T"></typeparam>
- void ExcludeNamespaceContainingType<T>();
-
- /// <summary>
- /// Only include types matching the Predicate in the scanning operation. You can
- /// use multiple Include() calls in a single scanning operation
- /// </summary>
- /// <param name="predicate"></param>
- void Include(Func<Type, bool> predicate);
-
- /// <summary>
- /// Only include types from this nameSpace or its children in the scanning operation. You can
- /// use multiple Include() calls in a single scanning operation
- /// </summary>
- /// <param name="nameSpace"></param>
- void IncludeNamespace(string nameSpace);
-
- /// <summary>
- /// Only include types from this nameSpace or its children in the scanning operation. You can
- /// use multiple Include() calls in a single scanning operation
- /// </summary>
- /// <typeparam name="T"></typeparam>
- void IncludeNamespaceContainingType<T>();
-
- /// <summary>
- /// Exclude this specific type from the scanning operation
- /// </summary>
- /// <typeparam name="T"></typeparam>
- void ExcludeType<T>();
-
- // ... Other methods
-
- #endregion
-
- // ... Other methods
-
- /// <summary>
- /// Adds a registration convention to be applied to all the types in this
- /// logical "scan" operation
- /// </summary>
- /// <typeparam name="T"></typeparam>
- void Convention<T>() where T : IRegistrationConvention, new();
-
- /// <summary>
- /// Adds a registration convention to be applied to all the types in this
- /// logical "scan" operation
- /// </summary>
- void With(IRegistrationConvention convention);
-
- void ModifyGraphAfterScan(Action<PluginGraph> modifyGraph);
- }
-}
\ No newline at end of file
Copied: branches/nhibernate/Source/StructureMap/Graph/IAssemblyScanner.cs (from rev 342, trunk/Source/StructureMap/Graph/IAssemblyScanner.cs)
===================================================================
--- branches/nhibernate/Source/StructureMap/Graph/IAssemblyScanner.cs (rev 0)
+++ branches/nhibernate/Source/StructureMap/Graph/IAssemblyScanner.cs 2010-02-05 03:06:42 UTC (rev 345)
@@ -0,0 +1,211 @@
+using System;
+using System.Reflection;
+using StructureMap.Configuration.DSL.Expressions;
+
+namespace StructureMap.Graph
+{
+ public interface IAssemblyScanner
+ {
+ #region Designating Assemblies
+
+ /// <summary>
+ /// Add an Assembly to the scanning operation
+ /// </summary>
+ /// <param name="assembly"></param>
+ void Assembly(Assembly assembly);
+
+ /// <summary>
+ /// Add an Assembly by name to the scanning operation
+ /// </summary>
+ /// <param name="assemblyName"></param>
+ void Assembly(string assemblyName);
+
+ /// <summary>
+ /// Add the currently executing Assembly to the scanning operation
+ /// </summary>
+ void TheCallingAssembly();
+
+ /// <summary>
+ /// Add the Assembly that contains type T to the scanning operation
+ /// </summary>
+ /// <typeparam name="T"></typeparam>
+ void AssemblyContainingType<T>();
+
+ /// <summary>
+ /// Add the Assembly that contains type to the scanning operation
+ /// </summary>
+ /// <param name="type"></param>
+ void AssemblyContainingType(Type type);
+
+ /// <summary>
+ /// Sweep the designated path and add any Assembly's found in this folder to the
+ /// scanning operation
+ /// </summary>
+ /// <param name="path"></param>
+ void AssembliesFromPath(string path);
+
+ /// <summary>
+ /// Sweep the designated path and add any Assembly's found in this folder to the
+ /// scanning operation. The assemblyFilter can be used to filter or limit the
+ /// Assembly's that are picked up.
+ /// </summary>
+ /// <param name="path"></param>
+ /// <param name="assemblyFilter"></param>
+ void AssembliesFromPath(string path, Predicate<Assembly> assemblyFilter);
+
+ /// <summary>
+ /// Sweep the application base directory of current app domain and add any Assembly's
+ /// found to the scanning operation.
+ /// </summary>
+ void AssembliesFromApplicationBaseDirectory();
+
+ /// <summary>
+ /// Sweep the application base directory of current app domain and add any Assembly's
+ /// found to the scanning operation. The assemblyFilter can be used to filter or limit the
+ /// Assembly's that are picked up.
+ /// </summary>
+ void AssembliesFromApplicationBaseDirectory(Predicate<Assembly> assemblyFilter);
+
+ #endregion
+
+ #region Adding TypeScanners
+
+ /// <summary>
+ /// Adds an ITypeScanner object to the scanning operation
+ /// </summary>
+ /// <param name="scanner"></param>
+ void With(ITypeScanner scanner);
+
+ /// <summary>
+ /// Creates and adds a new ITypeScanner of type T to this scanning operation
+ /// </summary>
+ /// <typeparam name="T"></typeparam>
+ void With<T>() where T : ITypeScanner, new();
+
+ #endregion
+
+ #region Other options
+
+ /// <summary>
+ /// Directs the scanning operation to automatically detect and include any Registry
+ /// classes found in the Assembly's being scanned
+ /// </summary>
+ void LookForRegistries();
+
+ /// <summary>
+ /// Add all concrete types of the Plugin Type as Instances of Plugin Type
+ /// </summary>
+ /// <typeparam name="PLUGINTYPE"></typeparam>
+ FindAllTypesFilter AddAllTypesOf<PLUGINTYPE>();
+
+ /// <summary>
+ /// Add all concrete types of the Plugin Type as Instances of Plugin Type
+ /// </summary>
+ /// <param name="pluginType"></param>
+ FindAllTypesFilter AddAllTypesOf(Type pluginType);
+
+ /// <summary>
+ /// Makes this scanning operation ignore all [PluginFamily] and [Pluggable] attributes
+ /// </summary>
+ void IgnoreStructureMapAttributes();
+
+ #endregion
+
+ #region Filtering types
+
+ /// <summary>
+ /// Exclude types that match the Predicate from being scanned
+ /// </summary>
+ /// <param name="exclude"></param>
+ void Exclude(Func<Type, bool> exclude);
+
+ /// <summary>
+ /// Exclude all types in this nameSpace or its children from the scanning operation
+ /// </summary>
+ /// <param name="nameSpace"></param>
+ void ExcludeNamespace(string nameSpace);
+
+ /// <summary>
+ /// Exclude all types in this nameSpace or its children from the scanning operation
+ /// </summary>
+ /// <typeparam name="T"></typeparam>
+ void ExcludeNamespaceContainingType<T>();
+
+ /// <summary>
+ /// Only include types matching the Predicate in the scanning operation. You can
+ /// use multiple Include() calls in a single scanning operation
+ /// </summary>
+ /// <param name="predicate"></param>
+ void Include(Func<Type, bool> predicate);
+
+ /// <summary>
+ /// Only include types from this nameSpace or its children in the scanning operation. You can
+ /// use multiple Include() calls in a single scanning operation
+ /// </summary>
+ /// <param name="nameSpace"></param>
+ void IncludeNamespace(string nameSpace);
+
+ /// <summary>
+ /// Only include types from this nameSpace or its children in the scanning operation. You can
+ /// use multiple Include() calls in a single scanning operation
+ /// </summary>
+ /// <typeparam name="T"></typeparam>
+ void IncludeNamespaceContainingType<T>();
+
+ /// <summary>
+ /// Exclude this specific type from the scanning operation
+ /// </summary>
+ /// <typeparam name="T"></typeparam>
+ void ExcludeType<T>();
+
+ // ... Other methods
+
+ #endregion
+
+ // ... Other methods
+
+ /// <summary>
+ /// Adds a registration convention to be applied to all the types in this
+ /// logical "scan" operation
+ /// </summary>
+ /// <typeparam name="T"></typeparam>
+ void Convention<T>() where T : IRegistrationConvention, new();
+
+ /// <summary>
+ /// Adds a registration convention to be applied to all the types in this
+ /// logical "scan" operation
+ /// </summary>
+ void With(IRegistrationConvention convention);
+
+ void ModifyGraphAfterScan(Action<PluginGraph> modifyGraph);
+
+ /// <summary>
+ /// Adds the DefaultConventionScanner to the scanning operations. I.e., a concrete
+ /// class named "Something" that implements "ISomething" will be automatically
+ /// added to PluginType "ISomething"
+ /// </summary>
+ ConfigureConventionExpression WithDefaultConventions();
+
+ /// <summary>
+ /// Scans for PluginType's and Concrete Types that close the given open generic type
+ /// </summary>
+ /// <example>
+ ///
+ /// </example>
+ /// <param name="openGenericType"></param>
+ ConfigureConventionExpression ConnectImplementationsToTypesClosing(Type openGenericType);
+
+ /// <summary>
+ /// Automatically registers all concrete types without primitive arguments
+ /// against its first interface, if any
+ /// </summary>
+ ConfigureConventionExpression RegisterConcreteTypesAgainstTheFirstInterface();
+
+ /// <summary>
+ /// Directs the scanning to automatically register any type that is the single
+ /// implementation of an interface against that interface.
+ /// The filters apply
+ /// </summary>
+ ConfigureConventionExpression SingleImplementationsOfInterface();
+ }
+}
\ No newline at end of file
Deleted: branches/nhibernate/Source/StructureMap/StructureMap.csproj
===================================================================
--- trunk/Source/StructureMap/StructureMap.csproj 2010-02-04 23:30:20 UTC (rev 341)
+++ branches/nhibernate/Source/StructureMap/StructureMap.csproj 2010-02-05 03:06:42 UTC (rev 345)
@@ -1,444 +0,0 @@
-<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="3.5">
- <PropertyGroup>
- <ProjectType>Local</ProjectType>
- <ProductVersion>9.0.30729</ProductVersion>
- <SchemaVersion>2.0</SchemaVersion>
- <ProjectGuid>{3F36EA80-2F9A-4DAD-BA27-5AC6163A2EE3}</ProjectGuid>
- <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
- <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
- <ApplicationIcon>
- </ApplicationIcon>
- <AssemblyKeyContainerName>
- </AssemblyKeyContainerName>
- <AssemblyName>StructureMap</AssemblyName>
- <AssemblyOriginatorKeyFile>..\structuremap.snk</AssemblyOriginatorKeyFile>
- <DefaultClientScript>JScript</DefaultClientScript>
- <DefaultHTMLPageLayout>Grid</DefaultHTMLPageLayout>
- <DefaultTargetSchema>IE50</DefaultTargetSchema>
- <DelaySign>false</DelaySign>
- <OutputType>Library</OutputType>
- <RootNamespace>StructureMap</RootNamespace>
- <RunPostBuildEvent>OnBuildSuccess</RunPostBuildEvent>
- <StartupObject>
- </StartupObject>
- <FileUpgradeFlags>
- </FileUpgradeFlags>
- <UpgradeBackupLocation>
- </UpgradeBackupLocation>
- <SignAssembly>true</SignAssembly>
- <OldToolsVersion>2.0</OldToolsVersion>
- <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
- <PublishUrl>publish\</PublishUrl>
- <Install>true</Install>
- <InstallFrom>Disk</InstallFrom>
- <UpdateEnabled>false</UpdateEnabled>
- <UpdateMode>Foreground</UpdateMode>
- <UpdateInterval>7</UpdateInterval>
- <UpdateIntervalUnits>Days</UpdateIntervalUnits>
- <UpdatePeriodically>false</UpdatePeriodically>
- <UpdateRequired>false</UpdateRequired>
- <MapFileExtensions>true</MapFileExtensions>
- <ApplicationRevision>0</ApplicationRevision>
- <ApplicationVersion>1.0.0.%2a</ApplicationVersion>
- <IsWebBootstrapper>false</IsWebBootstrapper>
- <UseApplicationTrust>false</UseApplicationTrust>
- <BootstrapperEnabled>true</BootstrapperEnabled>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
- <OutputPath>bin\Debug\</OutputPath>
- <AllowUnsafeBlocks>false</AllowUnsafeBlocks>
- <BaseAddress>285212672</BaseAddress>
- <CheckForOverflowUnderflow>false</CheckForOverflowUnderflow>
- <ConfigurationOverrideFile>
- </ConfigurationOverrideFile>
- <DefineConstants>DEBUG;TRACE</DefineConstants>
- <DocumentationFile>bin\Debug\StructureMap.XML</DocumentationFile>
- <DebugSymbols>true</DebugSymbols>
- <FileAlignment>4096</FileAlignment>
- <NoStdLib>false</NoStdLib>
- <NoWarn>618,1591,1573,1711,1570</NoWarn>
- <Optimize>false</Optimize>
- <RegisterForComInterop>false</RegisterForComInterop>
- <RemoveIntegerChecks>false</RemoveIntegerChecks>
- <TreatWarningsAsErrors>false</TreatWarningsAsErrors>
- <WarningLevel>4</WarningLevel>
- <DebugType>full</DebugType>
- <ErrorReport>prompt</ErrorReport>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
- <OutputPath>bin\Release\</OutputPath>
- <AllowUnsafeBlocks>false</AllowUnsafeBlocks>
- <BaseAddress>285212672</BaseAddress>
- <CheckForOverflowUnderflow>false</CheckForOverflowUnderflow>
- <ConfigurationOverrideFile>
- </ConfigurationOverrideFile>
- <DefineConstants>TRACE</DefineConstants>
- <DocumentationFile>bin\Release\StructureMap.XML</DocumentationFile>
- <DebugSymbols>true</DebugSymbols>
- <FileAlignment>4096</FileAlignment>
- <NoStdLib>false</NoStdLib>
- <NoWarn>618,1591,1573,1711,1570</NoWarn>
- <Optimize>true</Optimize>
- <RegisterForComInterop>false</RegisterForComInterop>
- <RemoveIntegerChecks>false</RemoveIntegerChecks>
- <TreatWarningsAsErrors>true</TreatWarningsAsErrors>
- <WarningLevel>4</WarningLevel>
- <DebugType>pdbonly</DebugType>
- <ErrorReport>prompt</ErrorReport>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Build|AnyCPU' ">
- <OutputPath>..\..\build\StructureMap\</OutputPath>
- <AllowUnsafeBlocks>false</AllowUnsafeBlocks>
- <BaseAddress>285212672</BaseAddress>
- <CheckForOverflowUnderflow>false</CheckForOverflowUnderflow>
- <ConfigurationOverrideFile>
- </ConfigurationOverrideFile>
- <DefineConstants>DEBUG;TRACE</DefineConstants>
- <DocumentationFile>StructureMap.xml</DocumentationFile>
- <DebugSymbols>true</DebugSymbols>
- <FileAlignment>4096</FileAlignment>
- <NoStdLib>false</NoStdLib>
- <NoWarn>618, 1591</NoWarn>
- <Optimize>false</Optimize>
- <RegisterForComInterop>false</RegisterForComInterop>
- <RemoveIntegerChecks>false</RemoveIntegerChecks>
- <TreatWarningsAsErrors>false</TreatWarningsAsErrors>
- <WarningLevel>4</WarningLevel>
- <DebugType>full</DebugType>
- <ErrorReport>prompt</ErrorReport>
- </PropertyGroup>
- <ItemGroup>
- <Reference Include="System">
- <Name>System</Name>
- </Reference>
- <Reference Include="System.configuration" />
- <Reference Include="System.Core">
- <RequiredTargetFramework>3.5</RequiredTargetFramework>
- </Reference>
- <Reference Include="System.Data">
- <Name>System.Data</Name>
- </Reference>
- <Reference Include="System.Web">
- <Name>System.Web</Name>
- </Reference>
- <Reference Include="System.Xml">
- <Name>System.XML</Name>
- </Reference>
- </ItemGroup>
- <ItemGroup>
- <Compile Include="..\CommonAssemblyInfo.cs">
- <Link>CommonAssemblyInfo.cs</Link>
- <SubType>Code</SubType>
- </Compile>
- <Compile Include="BuildSession.cs" />
- <Compile Include="Configuration\DSL\Expressions\GenericFamilyExpression.cs" />
- <Compile Include="Configuration\ProfileBuilder.cs" />
- <Compile Include="Diagnostics\BuildError.cs" />
- <Compile Include="Diagnostics\CharacterWidth.cs" />
- <Compile Include="Diagnostics\DividerLine.cs" />
- <Compile Include="Diagnostics\Error.cs" />
- <Compile Include="Diagnostics\ErrorCollection.cs" />
- <Compile Include="Diagnostics\GraphLog.cs" />
- <Compile Include="Diagnostics\InstanceToken.cs" />
- <Compile Include="Diagnostics\Line.cs" />
- <Compile Include="Diagnostics\TextLine.cs" />
- <Compile Include="Diagnostics\TextReportWriter.cs" />
- <Compile Include="Diagnostics\WhatDoIHaveWriter.cs" />
- <Compile Include="Exceptions\StructureMapConfigurationException.cs" />
- <Compile Include="ExplicitArgsExpression.cs" />
- <Compile Include="Graph\Constructor.cs" />
- <Compile Include="Graph\IArgumentVisitor.cs" />
- <Compile Include="Graph\IPluginFamily.cs" />
- <Compile Include="Graph\AssemblyScanner.cs" />
- <Compile Include="InstanceCache.cs" />
- <Compile Include="Interceptors\MatchedTypeInterceptor.cs" />
- <Compile Include="PipelineGraph.cs" />
- <Compile Include="Pipeline\ConfiguredInstance.cs" />
- <Compile Include="Pipeline\ConfiguredInstance.Expressions.cs" />
- <Compile Include="Pipeline\LambdaInstance.cs" />
- <Compile Include="Pipeline\DefaultInstance.cs" />
- <Compile Include="Pipeline\IConfiguredInstance.cs" />
- <Compile Include="Pipeline\ILocationPolicy.cs" />
- <Compile Include="Pipeline\Instance.cs" />
- <Compile Include="Pipeline\InstanceMementoPropertyReader.cs" />
- <Compile Include="Pipeline\ObjectInstance.cs" />
- <Compile Include="Pipeline\Profile.cs" />
- <Compile Include="Pipeline\ProfileManager.cs" />
- <Compile Include="Pipeline\PrototypeInstance.cs" />
- <Compile Include="Pipeline\ReferencedInstance.cs" />
- <Compile Include="Pipeline\UserControlInstance.cs" />
- <Compile Include="Properties\AssemblyInfo.cs">
- <SubType>Code</SubType>
- </Compile>
- <Compile Include="Attributes\DefaultConstructorAttribute.cs">
- <SubType>Code</SubType>
- </Compile>
- <Compile Include="InstanceScope.cs">
- <SubType>Code</SubType>
- </Compile>
- <Compile Include="Attributes\PluggableAttribute.cs">
- <SubType>Code</SubType>
- </Compile>
- <Compile Include="Attributes\PluginFamilyAttribute.cs">
- <SubType>Code</SubType>
- </Compile>
- <Compile Include="Attributes\SetterPropertyAttribute.cs">
- <SubType>Code</SubType>
- </Compile>
- <Compile Include="Attributes\ValidationMethodAttribute.cs">
- <SubType>Code</SubType>
- </Compile>
- <Compile Include="Configuration\ConfigurationConstants.cs">
- <SubType>Code</SubType>
- </Compile>
- <Compile Include="Configuration\ConfigurationParser.cs">
- <SubType>Code</SubType>
- </Compile>
- <Compile Include="Configuration\ConfigurationParserBuilder.cs" />
- <Compile Include="Configuration\DSL\Expressions\CreatePluginFamilyExpression.cs" />
- <Compile Include="Configuration\DSL\ExpressionValidator.cs" />
- <Compile Include="Pipeline\ExplicitArguments.cs" />
- <Compile Include="Configuration\DSL\Expressions\ProfileExpression.cs" />
- <Compile Include="Configuration\DSL\Registry.cs" />
- <Compile Include="Configuration\FamilyParser.cs">
- <SubType>Code</SubType>
- </Compile>
- <Compile Include="Configuration\IGraphBuilder.cs">
- <SubType>Code</SubType>
- </Compile>
- <Compile Include="Configuration\GraphBuilder.cs">
- <SubType>Code</SubType>
- </Compile>
- <Compile Include="Configuration\ProfileAndMachineParser.cs" />
- <Compile Include="Configuration\StructureMapConfigurationSection.cs" />
- <Compile Include="Configuration\XmlConstants.cs">
- <SubType>Code</SubType>
- </Compile>
- <Compile Include="Exceptions\InstancePropertyValueException.cs">
- <SubType>Code</SubType>
- </Compile>
- <Compile Include="Exceptions\MissingPluginFamilyException.cs">
- <SubType>Code</SubType>
- </Compile>
- <Compile Include="Exceptions\StructureMapException.cs">
- <SubType>Code</SubType>
- </Compile>
- <Compile Include="Graph\GenericsPluginGraph.cs" />
- <Compile Include="Graph\Plugin.cs">
- <SubType>Code</SubType>
- </Compile>
- <Compile Include="Graph\PluginFamily.cs">
- <SubType>Code</SubType>
- </Compile>
- <Compile Include="Graph\PluginFamilyCollection.cs">
- <SubType>Code</SubType>
- </Compile>
- <Compile Include="Graph\PluginGraph.cs">
- <SubType>Code</SubType>
- </Compile>
- <Compile Include="Graph\SetterProperty.cs">
- <SubType>Code</SubType>
- </Compile>
- <Compile Include="Graph\SetterPropertyCollection.cs">
- <SubType>Code</SubType>
- </Compile>
- <Compile Include="Graph\TypePath.cs">
- <SubType>Code</SubType>
- </Compile>
- <Compile Include="IInstanceFactory.cs">
- <SubType>Code</SubType>
- </Compile>
- <Compile Include="IContainer.cs" />
- <Compile Include="InstanceFactory.cs">
- <SubType>Code</SubType>
- </Compile>
- <Compile Include="Container.cs">
- <SubType>Code</SubType>
- </Compile>
- <Compile Include="InstanceMemento.cs">
- <SubType>Code</SubType>
- </Compile>
- <Compile Include="Interceptors\CompoundInterceptor.cs" />
- <Compile Include="Interceptors\EnrichmentInterceptor.cs" />
- <Compile Include="Interceptors\InstanceInterceptor.cs" />
- <Compile Include="Interceptors\InterceptorLibrary.cs" />
- <Compile Include="Interceptors\Interceptors.cs" />
- <Compile Include="Interceptors\NulloInterceptor.cs" />
- <Compile Include="Interceptors\StartupInterceptor.cs" />
- <Compile Include="Interceptors\FilteredInstanceInterceptor.cs" />
- <Compile Include="MementoSource.cs">
- <SubType>Code</SubType>
- </Compile>
- <Compile Include="MemoryInstanceMemento.cs">
- <SubType>Code</SubType>
- </Compile>
- <Compile Include="ObjectFactory.cs">
- <SubType>Code</SubType>
- </Compile>
- <Compile Include="PluginGraphBuilder.cs">
- <SubType>Code</SubType>
- </Compile>
- <Compile Include="Source\BasicXmlMementoSource.cs">
- <SubType>Code</SubType>
- </Compile>
- <Compile Include="Source\DirectoryXmlMementoSource.cs">
- <SubType>Code</SubType>
- </Compile>
- <Compile Include="Source\EmbeddedFolderXmlMementoSource.cs">
- <SubType>Code</SubType>
- </Compile>
- <Compile Include="Source\MementoSourceType.cs">
- <SubType>Code</SubType>
- </Compile>
- <Compile Include="Source\MemoryMementoSource.cs">
- <SubType>Code</SubType>
- </Compile>
- <Compile Include="Source\SingleEmbeddedXmlMementoSource.cs">
- <SubType>Code</SubType>
- </Compile>
- <Compile Include="Source\TemplatedMementoSource.cs">
- <SubType>Code</SubType>
- </Compile>
- <Compile Include="Source\XmlAttributeFileMementoSource.cs">
- <SubType>Code</SubType>
- </Compile>
- <Compile Include="Source\XmlAttributeInstanceMemento.cs">
- <SubType>Code</SubType>
- </Compile>
- <Compile Include="Source\XmlFileMementoSource.cs">
- <SubType>Code</SubType>
- </Compile>
- <Compile Include="Source\XmlMementoCreator.cs">
- <SubType>Code</SubType>
- </Compile>
- <Compile Include="Source\XmlMementoSource.cs">
- <SubType>Code</SubType>
- </Compile>
- <Compile Include="Source\XmlMementoStyle.cs">
- <SubType>Code</SubType>
- </Compile>
- <Compile Include="Source\XmlNodeInstanceMemento.cs">
- <SubType>Code</SubType>
- </Compile>
- <Compile Include="Source\XmlTemplater.cs">
- <SubType>Code</SubType>
- </Compile>
- <Compile Include="Diagnostics\ValidationBuildSession.cs" />
- <EmbeddedResource Include="StructureMapException.resx">
- <SubType>Designer</SubType>
- </EmbeddedResource>
- </ItemGroup>
- <ItemGroup>
- <None Include="..\structuremap.snk">
- <Link>Properties\structuremap.snk</Link>
- </None>
- <None Include="ConfigurationClasses.cd" />
- <Compile Include="CloseGenericTypeExpression.cs" />
- <Compile Include="ConfigurationExpression.cs" />
- <Compile Include="Configuration\DictionaryReader.cs" />
- <Compile Include="Configuration\DSL\AssemblyScannerExtensions.cs" />
- <Compile Include="Configuration\DSL\Expressions\InstanceExpression.cs" />
- <Compile Include="Configuration\DSL\IRegistry.cs" />
- <Compile Include="Configuration\DSL\SetterConvention.cs" />
- <Compile Include="Configuration\ITypeReader.cs" />
- <Compile Include="Configuration\PrimitiveArrayReader.cs" />
- <Compile Include="Configuration\TypeReaderFactory.cs" />
- <Compile Include="Configuration\XmlExtensions.cs" />
- <Compile Include="Construction\BuilderCompiler.cs" />
- <Compile Include="Construction\ConstructorFunctionBuilder.cs" />
- <Compile Include="Construction\IArguments.cs" />
- <Compile Include="Construction\InstanceBuilder.cs" />
- <Compile Include="Construction\SetterBuilder.cs" />
- <Compile Include="Diagnostics\Doctor.cs" />
- <Compile Include="Diagnostics\DoctorReport.cs" />
- <Compile Include="Diagnostics\DoctorResult.cs" />
- <Compile Include="Diagnostics\DoctorRunner.cs" />
- <Compile Include="Diagnostics\ValidationError.cs" />
- <Compile Include="ErrorMessages.cs" />
- <Compile Include="Example.cs" />
- <Compile Include="Extensions.cs" />
- <Compile Include="Graph\CompositeFilter.cs" />
- <Compile Include="Graph\CompositePredicate.cs" />
- <Compile Include="Configuration\DSL\Expressions\ConfigureConventionExpression.cs" />
- <Compile Include="Graph\FamilyAttributeScanner.cs" />
- <Compile Include="Graph\FindAllTypesFilter.cs" />
- <Compile Include="Graph\FindRegistriesScanner.cs" />
- <Compile Include="Graph\FirstInterfaceConvention.cs" />
- <Compile Include="Graph\IAssemblyScanner.cs" />
- <Compile Include="Graph\ImplementationMap.cs" />
- <Compile Include="Graph\IRegistrationConvention.cs" />
- <Compile Include="Graph\ITypeScanner.cs" />
- <Compile Include="Graph\PluggableAttributeScanner.cs" />
- <Compile Include="Graph\PluginCache.cs" />
- <Compile Include="IContext.cs" />
- <Compile Include="Pipeline\AdapterClasses.cs" />
- <Compile Include="Pipeline\HybridLifecycle.cs" />
- <Compile Include="Query\EmptyConfiguration.cs" />
- <Compile Include="Query\GenericFamilyConfiguration.cs" />
- <Compile Include="Query\IFamily.cs" />
- <Compile Include="Query\IModel.cs" />
- <Compile Include="Pipeline\Arguments.cs" />
- <Compile Include="Pipeline\ArrayCoercion.cs" />
- <Compile Include="Pipeline\ConditionalInstance.cs" />
- <Compile Include="Pipeline\ConstructorInstance.cs" />
- <Compile Include="Pipeline\EnumerableInstance.cs" />
- <Compile Include="Pipeline\HttpContextLifecycle.cs" />
- <Compile Include="Pipeline\HttpLifecycleBase.cs" />
- <Compile Include="Pipeline\HttpSessionLifecycle.cs" />
- <Compile Include="Pipeline\HybridSessionLifecycle.cs" />
- <Compile Include="Pipeline\IEnumerableCoercion.cs" />
- <Compile Include="Pipeline\ILifecycle.cs" />
- <Compile Include="Pipeline\IObjectCache.cs" />
- <Compile Include="Pipeline\Lifecycles.cs" />
- <Compile Include="Pipeline\ListCoercion.cs" />
- <Compile Include="Pipeline\MainObjectCache.cs" />
- <Compile Include="Pipeline\NulloObjectCache.cs" />
- <Compile Include="Pipeline\ObjectBuilder.cs" />
- <Compile Include="Pipeline\SessionWrapper.cs" />
- <Compile Include="Pipeline\SingletonLifecycle.cs" />
- <Compile Include="Pipeline\ThreadLocalStorageLifecycle.cs" />
- <Compile Include="Pipeline\UniquePerRequestLifecycle.cs" />
- <Compile ...
[truncated message content] |