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] |