From: <fli...@us...> - 2008-12-17 16:42:12
|
Revision: 198 http://structuremap.svn.sourceforge.net/structuremap/?rev=198&view=rev Author: flimflan Date: 2008-12-17 16:41:58 +0000 (Wed, 17 Dec 2008) Log Message: ----------- - Fixed TryGetInstance methods so that they are static - Added early code for IContainer debugger visualizer (use at your own risk - see README.TXT) Modified Paths: -------------- trunk/README.TXT trunk/Source/StructureMap/ObjectFactory.cs trunk/Source/StructureMap.sln trunk/cruise.build Added Paths: ----------- trunk/Source/StructureMap.DebuggerVisualizers/ trunk/Source/StructureMap.DebuggerVisualizers/ContainerDetail.cs trunk/Source/StructureMap.DebuggerVisualizers/ContainerForm.Designer.cs trunk/Source/StructureMap.DebuggerVisualizers/ContainerForm.cs trunk/Source/StructureMap.DebuggerVisualizers/ContainerForm.resx trunk/Source/StructureMap.DebuggerVisualizers/ContainerVisualizer.cs trunk/Source/StructureMap.DebuggerVisualizers/ContainerVisualizerObjectSource.cs trunk/Source/StructureMap.DebuggerVisualizers/DisplayHelper.cs trunk/Source/StructureMap.DebuggerVisualizers/Properties/ trunk/Source/StructureMap.DebuggerVisualizers/Properties/AssemblyInfo.cs trunk/Source/StructureMap.DebuggerVisualizers/StructureMap.DebuggerVisualizers.csproj Removed Paths: ------------- trunk/Source/StructureMap.lnk Modified: trunk/README.TXT =================================================================== --- trunk/README.TXT 2008-12-17 04:35:54 UTC (rev 197) +++ trunk/README.TXT 2008-12-17 16:41:58 UTC (rev 198) @@ -1,10 +1,15 @@ To start using StructureMap, either use the DLL's in the "deploy" folder or click on the RunBuild.BAT file to run the full NAnt build. There is a known issue with the build "sticking" on the custom NAnt tasks. If this happens, delete the copies of StructureMap.Dll and StructureMap.DeploymentTasks.Dll in the bin\NAnt folder. Look in the "build" directory for the build products. +To enable the debugger visualizers in Visual Studio 2008, put a copy of StructureMap.dll and StructureMap.DebuggerVisualizers.dll in "<My Documents>\Visual Studio 2008\Visualizers" +**WARNING: The visualizer is very early and not well tested. You may experience issues (unhandled exceptions while using the visualizer) if the version of StructureMap.dll in your project is not the exact version in your Visualizers folder. + A copy of the StructureMap website and documentation is in the "Docs" folder. -Contact jer...@ya... with any questions or bugs. +Please post any questions or bugs to the StructureMap Users mailing list: +http://groups.google.com/group/structuremap-users + The latest code and documentation is available on SourceForge: http://structuremap.sourceforge.net/ Modified: trunk/Source/StructureMap/ObjectFactory.cs =================================================================== --- trunk/Source/StructureMap/ObjectFactory.cs 2008-12-17 04:35:54 UTC (rev 197) +++ trunk/Source/StructureMap/ObjectFactory.cs 2008-12-17 16:41:58 UTC (rev 198) @@ -13,7 +13,7 @@ /// The main static Facade for the StructureMap container /// </summary> [EnvironmentPermission(SecurityAction.Assert, Read = "COMPUTERNAME")] - public class ObjectFactory + public static class ObjectFactory { private static readonly object _lockObject = new object(); private static Container _container; @@ -379,7 +379,7 @@ /// <param name="instanceKey"></param> /// <param name="instance"></param> /// <returns></returns> - public object TryGetInstance(Type pluginType, string instanceKey) + public static object TryGetInstance(Type pluginType, string instanceKey) { return container.TryGetInstance(pluginType, instanceKey); } @@ -390,7 +390,7 @@ /// <param name="pluginType"></param> /// <param name="instance"></param> /// <returns></returns> - public object TryGetInstance(Type pluginType) + public static object TryGetInstance(Type pluginType) { return container.TryGetInstance(pluginType); } @@ -401,7 +401,7 @@ /// <typeparam name="T"></typeparam> /// <param name="instance"></param> /// <returns></returns> - public T TryGetInstance<T>() + public static T TryGetInstance<T>() { return container.TryGetInstance<T>(); } @@ -412,7 +412,7 @@ /// <typeparam name="T"></typeparam> /// <param name="instance"></param> /// <returns></returns> - public T TryGetInstance<T>(string instanceKey) + public static T TryGetInstance<T>(string instanceKey) { return container.TryGetInstance<T>(instanceKey); } Property changes on: trunk/Source/StructureMap.DebuggerVisualizers ___________________________________________________________________ Added: svn:ignore + [Bb]in obj [Dd]ebug [Rr]elease *.user *.aps *.eto Added: trunk/Source/StructureMap.DebuggerVisualizers/ContainerDetail.cs =================================================================== --- trunk/Source/StructureMap.DebuggerVisualizers/ContainerDetail.cs (rev 0) +++ trunk/Source/StructureMap.DebuggerVisualizers/ContainerDetail.cs 2008-12-17 16:41:58 UTC (rev 198) @@ -0,0 +1,90 @@ +using System; +using System.Collections.Generic; + +namespace StructureMap.DebuggerVisualizers +{ + [Serializable] + public class ContainerDetail + { + private readonly string[] _sources; + private readonly PluginTypeDetail[] _pluginTypeDetails; + + public ContainerDetail(string[] sources, PluginTypeDetail[] types) + { + _sources = sources; + _pluginTypeDetails = types; + } + + public string[] Sources + { + get { return _sources; } + } + + public PluginTypeDetail[] PluginTypes + { + get { return _pluginTypeDetails; } + } + } + + [Serializable] + public class PluginTypeDetail + { + private readonly Type _type; + private readonly Type _buildPolicyType; + private readonly InstanceDetail[] instanceDetails; + private readonly IList<InstanceDetail> _instances = new List<InstanceDetail>(); + + public PluginTypeDetail(Type type, Type buildPolicyType, InstanceDetail[] instanceDetails) + { + _type = type; + _buildPolicyType = buildPolicyType; + this.instanceDetails = instanceDetails; + } + + public InstanceDetail[] Instances + { + get { return instanceDetails; } + } + + public Type BuildPolicy + { + get { return _buildPolicyType; } + } + + public Type Type + { + get { return _type; } + } + } + + [Serializable] + public class InstanceDetail + { + private readonly string _name; + private readonly string _description; + private readonly Type _concreteType; + + public InstanceDetail(string name, string description, Type concreteType) + { + _name = name; + _description = description; + _concreteType = concreteType; + } + + public Type ConcreteType + { + get { return _concreteType; } + } + + public string Description + { + get { return _description; } + } + + public string Name + { + get { return _name; } + } + } + +} \ No newline at end of file Property changes on: trunk/Source/StructureMap.DebuggerVisualizers/ContainerDetail.cs ___________________________________________________________________ Added: svn:mergeinfo + Added: trunk/Source/StructureMap.DebuggerVisualizers/ContainerForm.Designer.cs =================================================================== --- trunk/Source/StructureMap.DebuggerVisualizers/ContainerForm.Designer.cs (rev 0) +++ trunk/Source/StructureMap.DebuggerVisualizers/ContainerForm.Designer.cs 2008-12-17 16:41:58 UTC (rev 198) @@ -0,0 +1,68 @@ +namespace StructureMap.DebuggerVisualizers +{ + partial class ContainerForm + { + /// <summary> + /// Required designer variable. + /// </summary> + private System.ComponentModel.IContainer components = null; + + /// <summary> + /// Clean up any resources being used. + /// </summary> + /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param> + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// <summary> + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// </summary> + private void InitializeComponent() + { + this.BrowserTree = new System.Windows.Forms.TreeView(); + this.SuspendLayout(); + // + // BrowserTree + // + this.BrowserTree.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.BrowserTree.Location = new System.Drawing.Point(12, 12); + this.BrowserTree.Name = "BrowserTree"; + this.BrowserTree.ShowRootLines = false; + this.BrowserTree.Size = new System.Drawing.Size(548, 249); + this.BrowserTree.TabIndex = 4; + this.BrowserTree.AfterExpand += new System.Windows.Forms.TreeViewEventHandler(this.BrowserTree_AfterExpand); + // + // ContainerForm + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(572, 273); + this.Controls.Add(this.BrowserTree); + this.MinimizeBox = false; + this.MinimumSize = new System.Drawing.Size(280, 80); + this.Name = "ContainerForm"; + this.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Show; + this.Text = "StructureMap Container Browser"; + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.TreeView BrowserTree; + + + + } +} \ No newline at end of file Added: trunk/Source/StructureMap.DebuggerVisualizers/ContainerForm.cs =================================================================== --- trunk/Source/StructureMap.DebuggerVisualizers/ContainerForm.cs (rev 0) +++ trunk/Source/StructureMap.DebuggerVisualizers/ContainerForm.cs 2008-12-17 16:41:58 UTC (rev 198) @@ -0,0 +1,88 @@ +using System.Windows.Forms; +using System.Linq; + +namespace StructureMap.DebuggerVisualizers +{ + public partial class ContainerForm : Form + { + + public ContainerForm() + { + InitializeComponent(); + } + + public ContainerForm(ContainerDetail containerDetail) + { + InitializeComponent(); + buildTree(BrowserTree, containerDetail); + } + + private static void buildTree(TreeView tree, ContainerDetail container) + { + var sourcesRoot = buildConfigurationSources(tree, container); + var pluginTypesRoot = buildPluginTypes(tree, container); + + pluginTypesRoot.Expand(); + sourcesRoot.Expand(); + } + + private static TreeNode buildPluginTypes(TreeView tree, ContainerDetail container) + { + var pluginTypesRoot = tree.Nodes.Add("PluginTypes"); + foreach (var pluginType in container.PluginTypes.OrderBy(t => t.Type.Name)) + { + addPluginType(pluginTypesRoot, pluginType); + } + return pluginTypesRoot; + } + + private static TreeNode buildConfigurationSources(TreeView tree, ContainerDetail container) + { + var sourcesRoot = tree.Nodes.Add("Configuration Sources"); + foreach (var source in container.Sources.OrderBy(s => s)) + { + addSource(sourcesRoot, source); + } + return sourcesRoot; + } + + private static void addSource(TreeNode root, string source) + { + root.Nodes.Add(source); + } + + private static void addPluginType(TreeNode pluginTypesRoot, PluginTypeDetail pluginType) + { + var pluginNode = pluginTypesRoot.Nodes.Add(pluginType.Type.AsCSharp()); + pluginNode.Nodes.Add("FullName: " + pluginType.Type.AsCSharp(t=>t.FullName ?? t.Name)); + pluginNode.Nodes.Add("Assembly: " + pluginType.Type.Assembly); + pluginNode.Nodes.Add("BuildPolicy: " + pluginType.BuildPolicy.Name); + if (pluginType.Instances.Length == 0) return; + + var instancesRoot = pluginNode.Nodes.Add("Instances"); + foreach (var instance in pluginType.Instances.OrderBy(i => i.Name)) + { + addInstance(instancesRoot, instance); + } + } + + private static void addInstance(TreeNode instancesRoot, InstanceDetail instance) + { + var instanceNode = instancesRoot.Nodes.Add("Name: " + instance.Name); + if (instance.Name != instance.Description) + { + instanceNode.Nodes.Add("Description: " + instance.Description); + } + if (instance.ConcreteType != null) + { + instanceNode.Nodes.Add("ConcreteType: " + instance.ConcreteType.AsCSharp()); + } + } + + private void BrowserTree_AfterExpand(object sender, TreeViewEventArgs e) + { + if (e.Node.Level < 1) return; + e.Node.ExpandAll(); + } + } +} Added: trunk/Source/StructureMap.DebuggerVisualizers/ContainerForm.resx =================================================================== --- trunk/Source/StructureMap.DebuggerVisualizers/ContainerForm.resx (rev 0) +++ trunk/Source/StructureMap.DebuggerVisualizers/ContainerForm.resx 2008-12-17 16:41:58 UTC (rev 198) @@ -0,0 +1,120 @@ +<?xml version="1.0" encoding="utf-8"?> +<root> + <!-- + Microsoft ResX Schema + + Version 2.0 + + The primary goals of this format is to allow a simple XML format + that is mostly human readable. The generation and parsing of the + various data types are done through the TypeConverter classes + associated with the data types. + + Example: + + ... ado.net/XML headers & schema ... + <resheader name="resmimetype">text/microsoft-resx</resheader> + <resheader name="version">2.0</resheader> + <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> + <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> + <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> + <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> + <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> + <value>[base64 mime encoded serialized .NET Framework object]</value> + </data> + <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> + <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> + <comment>This is a comment</comment> + </data> + + There are any number of "resheader" rows that contain simple + name/value pairs. + + Each data row contains a name, and value. The row also contains a + type or mimetype. Type corresponds to a .NET class that support + text/value conversion through the TypeConverter architecture. + Classes that don't support this are serialized and stored with the + mimetype set. + + The mimetype is used for serialized objects, and tells the + ResXResourceReader how to depersist the object. This is currently not + extensible. For a given mimetype the value must be set accordingly: + + Note - application/x-microsoft.net.object.binary.base64 is the format + that the ResXResourceWriter will generate, however the reader can + read any of the formats listed below. + + mimetype: application/x-microsoft.net.object.binary.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.soap.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Soap.SoapFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.bytearray.base64 + value : The object must be serialized into a byte array + : using a System.ComponentModel.TypeConverter + : and then encoded with base64 encoding. + --> + <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> + <xsd:import namespace="http://www.w3.org/XML/1998/namespace" /> + <xsd:element name="root" msdata:IsDataSet="true"> + <xsd:complexType> + <xsd:choice maxOccurs="unbounded"> + <xsd:element name="metadata"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" /> + </xsd:sequence> + <xsd:attribute name="name" use="required" type="xsd:string" /> + <xsd:attribute name="type" type="xsd:string" /> + <xsd:attribute name="mimetype" type="xsd:string" /> + <xsd:attribute ref="xml:space" /> + </xsd:complexType> + </xsd:element> + <xsd:element name="assembly"> + <xsd:complexType> + <xsd:attribute name="alias" type="xsd:string" /> + <xsd:attribute name="name" type="xsd:string" /> + </xsd:complexType> + </xsd:element> + <xsd:element name="data"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> + <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" /> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" /> + <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" /> + <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" /> + <xsd:attribute ref="xml:space" /> + </xsd:complexType> + </xsd:element> + <xsd:element name="resheader"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required" /> + </xsd:complexType> + </xsd:element> + </xsd:choice> + </xsd:complexType> + </xsd:element> + </xsd:schema> + <resheader name="resmimetype"> + <value>text/microsoft-resx</value> + </resheader> + <resheader name="version"> + <value>2.0</value> + </resheader> + <resheader name="reader"> + <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <resheader name="writer"> + <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> +</root> \ No newline at end of file Added: trunk/Source/StructureMap.DebuggerVisualizers/ContainerVisualizer.cs =================================================================== --- trunk/Source/StructureMap.DebuggerVisualizers/ContainerVisualizer.cs (rev 0) +++ trunk/Source/StructureMap.DebuggerVisualizers/ContainerVisualizer.cs 2008-12-17 16:41:58 UTC (rev 198) @@ -0,0 +1,26 @@ +using System; +using System.Diagnostics; +using Microsoft.VisualStudio.DebuggerVisualizers; +using StructureMap; +using StructureMap.DebuggerVisualizers; + +[assembly: DebuggerVisualizer(typeof(ContainerVisualizer), typeof(ContainerVisualizerObjectSource), Target = typeof(Container), Description = "Container Browser")] + +namespace StructureMap.DebuggerVisualizers +{ + + public class ContainerVisualizer : DialogDebuggerVisualizer + { + private IDialogVisualizerService modalService; + + protected override void Show(IDialogVisualizerService windowService, IVisualizerObjectProvider objectProvider) + { + modalService = windowService; + if (modalService == null) throw new NotSupportedException("This debugger does not support modal visualizers"); + + var containerDetail = (ContainerDetail)objectProvider.GetObject(); + var form = new ContainerForm(containerDetail); + modalService.ShowDialog(form); + } + } +} Added: trunk/Source/StructureMap.DebuggerVisualizers/ContainerVisualizerObjectSource.cs =================================================================== --- trunk/Source/StructureMap.DebuggerVisualizers/ContainerVisualizerObjectSource.cs (rev 0) +++ trunk/Source/StructureMap.DebuggerVisualizers/ContainerVisualizerObjectSource.cs 2008-12-17 16:41:58 UTC (rev 198) @@ -0,0 +1,52 @@ +using System; +using System.Collections.Generic; +using System.IO; +using Microsoft.VisualStudio.DebuggerVisualizers; +using System.Linq; +using StructureMap.Pipeline; + +namespace StructureMap.DebuggerVisualizers +{ + public class ContainerVisualizerObjectSource : VisualizerObjectSource + { + public override void GetData(object target, Stream outgoingData) + { + var container = target as Container; + if (container == null) throw new InvalidOperationException("This visualizer does not support Type: " + target.GetType().Name); + + var details = BuildContainerDetails(container); + Serialize(outgoingData, details); + } + + public static ContainerDetail BuildContainerDetails(Container container) + { + IList<PluginTypeDetail> pluginTypeDetails = new List<PluginTypeDetail>(); + foreach (var pluginType in container.Model.PluginTypes) + { + IList<InstanceDetail> instances = new List<InstanceDetail>(); + IList<IInstance> usedInstances = new List<IInstance>(); + + if (pluginType.Default != null) + { + instances.Add(buildInstanceDetail(pluginType.Default)); + usedInstances.Add(pluginType.Default); + } + foreach (var instance in pluginType.Instances) + { + if (usedInstances.Contains(instance)) continue; + instances.Add(buildInstanceDetail(instance)); + } + + var pluginTypeDetail = new PluginTypeDetail(pluginType.PluginType, pluginType.Policy.GetType(), instances.ToArray()); + pluginTypeDetails.Add(pluginTypeDetail); + } + + return new ContainerDetail(container.PluginGraph.Log.Sources, pluginTypeDetails.ToArray()); + } + + private static InstanceDetail buildInstanceDetail(IInstance instance) + { + return new InstanceDetail(instance.Name, instance.Description, instance.ConcreteType); + } + } +} \ No newline at end of file Added: trunk/Source/StructureMap.DebuggerVisualizers/DisplayHelper.cs =================================================================== --- trunk/Source/StructureMap.DebuggerVisualizers/DisplayHelper.cs (rev 0) +++ trunk/Source/StructureMap.DebuggerVisualizers/DisplayHelper.cs 2008-12-17 16:41:58 UTC (rev 198) @@ -0,0 +1,30 @@ +using System; +using System.Linq; + +namespace StructureMap.DebuggerVisualizers +{ + public static class DisplayHelper + { + public static string AsCSharp(this Type type) + { + return type.AsCSharp(t => t.Name); + } + public static string AsCSharp(this Type type, Func<Type, string> selector) + { + var typeName = selector(type) ?? string.Empty; + if (type.IsGenericType) + { + var genericParamSelector = type.IsGenericTypeDefinition ? t => t.Name : selector; + var genericTypeList = String.Join(",", type.GetGenericArguments().Select(genericParamSelector).ToArray()); + var tickLocation = typeName.IndexOf('`'); + if (tickLocation >= 0) + { + typeName = typeName.Substring(0, tickLocation); + } + return string.Format("{0}<{1}>", typeName, genericTypeList); + } + return typeName; + } + + } +} Added: trunk/Source/StructureMap.DebuggerVisualizers/Properties/AssemblyInfo.cs =================================================================== --- trunk/Source/StructureMap.DebuggerVisualizers/Properties/AssemblyInfo.cs (rev 0) +++ trunk/Source/StructureMap.DebuggerVisualizers/Properties/AssemblyInfo.cs 2008-12-17 16:41:58 UTC (rev 198) @@ -0,0 +1,4 @@ +using System.Reflection; + +[assembly: AssemblyTitle("StructureMap.DebuggerVisualizers")] +[assembly: AssemblyDescription("Enhances the Visual Studio debugger to provide better support for StructureMap types.")] Added: trunk/Source/StructureMap.DebuggerVisualizers/StructureMap.DebuggerVisualizers.csproj =================================================================== --- trunk/Source/StructureMap.DebuggerVisualizers/StructureMap.DebuggerVisualizers.csproj (rev 0) +++ trunk/Source/StructureMap.DebuggerVisualizers/StructureMap.DebuggerVisualizers.csproj 2008-12-17 16:41:58 UTC (rev 198) @@ -0,0 +1,87 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <PropertyGroup> + <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> + <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> + <ProductVersion>9.0.21022</ProductVersion> + <SchemaVersion>2.0</SchemaVersion> + <ProjectGuid>{F023DA4D-0B7D-4836-A56A-21F22A0A2D71}</ProjectGuid> + <OutputType>Library</OutputType> + <AppDesignerFolder>Properties</AppDesignerFolder> + <RootNamespace>StructureMap.DebuggerVisualizers</RootNamespace> + <AssemblyName>StructureMap.DebuggerVisualizers</AssemblyName> + <TargetFrameworkVersion>v3.5</TargetFrameworkVersion> + <FileAlignment>512</FileAlignment> + <SignAssembly>true</SignAssembly> + <AssemblyOriginatorKeyFile>..\structuremap.snk</AssemblyOriginatorKeyFile> + </PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> + <DebugSymbols>true</DebugSymbols> + <DebugType>full</DebugType> + <Optimize>false</Optimize> + <OutputPath>bin\Debug\</OutputPath> + <DefineConstants>DEBUG;TRACE</DefineConstants> + <ErrorReport>prompt</ErrorReport> + <WarningLevel>4</WarningLevel> + </PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> + <DebugType>pdbonly</DebugType> + <Optimize>true</Optimize> + <OutputPath>bin\Release\</OutputPath> + <DefineConstants>TRACE</DefineConstants> + <ErrorReport>prompt</ErrorReport> + <WarningLevel>4</WarningLevel> + </PropertyGroup> + <ItemGroup> + <Reference Include="Microsoft.VisualStudio.DebuggerVisualizers, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" /> + <Reference Include="System" /> + <Reference Include="System.Core"> + <RequiredTargetFramework>3.5</RequiredTargetFramework> + </Reference> + <Reference Include="System.Drawing" /> + <Reference Include="System.Windows.Forms" /> + <Reference Include="System.Data" /> + <Reference Include="System.Xml" /> + </ItemGroup> + <ItemGroup> + <Compile Include="..\CommonAssemblyInfo.cs"> + <Link>CommonAssemblyInfo.cs</Link> + </Compile> + <Compile Include="ContainerForm.cs"> + <SubType>Form</SubType> + </Compile> + <Compile Include="ContainerForm.Designer.cs"> + <DependentUpon>ContainerForm.cs</DependentUpon> + </Compile> + <Compile Include="ContainerVisualizer.cs" /> + <Compile Include="ContainerVisualizerObjectSource.cs" /> + <Compile Include="ContainerDetail.cs" /> + <Compile Include="DisplayHelper.cs" /> + <Compile Include="Properties\AssemblyInfo.cs" /> + </ItemGroup> + <ItemGroup> + <ProjectReference Include="..\StructureMap\StructureMap.csproj"> + <Project>{3F36EA80-2F9A-4DAD-BA27-5AC6163A2EE3}</Project> + <Name>StructureMap</Name> + </ProjectReference> + </ItemGroup> + <ItemGroup> + <EmbeddedResource Include="ContainerForm.resx"> + <DependentUpon>ContainerForm.cs</DependentUpon> + <SubType>Designer</SubType> + </EmbeddedResource> + </ItemGroup> + <ItemGroup> + <None Include="..\structuremap.snk"> + <Link>Properties\structuremap.snk</Link> + </None> + </ItemGroup> + <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> + <!-- To modify your build process, add your task inside one of the targets below and uncomment it. + Other similar extension points exist, see Microsoft.Common.targets. + <Target Name="BeforeBuild"> + </Target> + <Target Name="AfterBuild"> + </Target> + --> +</Project> \ No newline at end of file Deleted: trunk/Source/StructureMap.lnk =================================================================== (Binary files differ) Modified: trunk/Source/StructureMap.sln =================================================================== --- trunk/Source/StructureMap.sln 2008-12-17 04:35:54 UTC (rev 197) +++ trunk/Source/StructureMap.sln 2008-12-17 16:41:58 UTC (rev 198) @@ -53,6 +53,10 @@ EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HTML", "HTML\HTML.csproj", "{A6358895-641F-4CC2-BE8E-C61EBE1DBEB9}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StructureMap.DebuggerVisualizers", "StructureMap.DebuggerVisualizers\StructureMap.DebuggerVisualizers.csproj", "{F023DA4D-0B7D-4836-A56A-21F22A0A2D71}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StructureMap.DebuggerVisualizers.Testing", "StructureMap.DebuggerVisualizers.Testing\StructureMap.DebuggerVisualizers.Testing.csproj", "{13C368E6-A7BE-46E8-8CFB-64010C825748}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Build|.NET = Build|.NET @@ -243,6 +247,36 @@ {A6358895-641F-4CC2-BE8E-C61EBE1DBEB9}.Release|Any CPU.ActiveCfg = Release|Any CPU {A6358895-641F-4CC2-BE8E-C61EBE1DBEB9}.Release|Any CPU.Build.0 = Release|Any CPU {A6358895-641F-4CC2-BE8E-C61EBE1DBEB9}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {F023DA4D-0B7D-4836-A56A-21F22A0A2D71}.Build|.NET.ActiveCfg = Release|Any CPU + {F023DA4D-0B7D-4836-A56A-21F22A0A2D71}.Build|Any CPU.ActiveCfg = Release|Any CPU + {F023DA4D-0B7D-4836-A56A-21F22A0A2D71}.Build|Any CPU.Build.0 = Release|Any CPU + {F023DA4D-0B7D-4836-A56A-21F22A0A2D71}.Build|Mixed Platforms.ActiveCfg = Release|Any CPU + {F023DA4D-0B7D-4836-A56A-21F22A0A2D71}.Build|Mixed Platforms.Build.0 = Release|Any CPU + {F023DA4D-0B7D-4836-A56A-21F22A0A2D71}.Debug|.NET.ActiveCfg = Debug|Any CPU + {F023DA4D-0B7D-4836-A56A-21F22A0A2D71}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {F023DA4D-0B7D-4836-A56A-21F22A0A2D71}.Debug|Any CPU.Build.0 = Debug|Any CPU + {F023DA4D-0B7D-4836-A56A-21F22A0A2D71}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {F023DA4D-0B7D-4836-A56A-21F22A0A2D71}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {F023DA4D-0B7D-4836-A56A-21F22A0A2D71}.Release|.NET.ActiveCfg = Release|Any CPU + {F023DA4D-0B7D-4836-A56A-21F22A0A2D71}.Release|Any CPU.ActiveCfg = Release|Any CPU + {F023DA4D-0B7D-4836-A56A-21F22A0A2D71}.Release|Any CPU.Build.0 = Release|Any CPU + {F023DA4D-0B7D-4836-A56A-21F22A0A2D71}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {F023DA4D-0B7D-4836-A56A-21F22A0A2D71}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {13C368E6-A7BE-46E8-8CFB-64010C825748}.Build|.NET.ActiveCfg = Release|Any CPU + {13C368E6-A7BE-46E8-8CFB-64010C825748}.Build|Any CPU.ActiveCfg = Release|Any CPU + {13C368E6-A7BE-46E8-8CFB-64010C825748}.Build|Any CPU.Build.0 = Release|Any CPU + {13C368E6-A7BE-46E8-8CFB-64010C825748}.Build|Mixed Platforms.ActiveCfg = Release|Any CPU + {13C368E6-A7BE-46E8-8CFB-64010C825748}.Build|Mixed Platforms.Build.0 = Release|Any CPU + {13C368E6-A7BE-46E8-8CFB-64010C825748}.Debug|.NET.ActiveCfg = Debug|Any CPU + {13C368E6-A7BE-46E8-8CFB-64010C825748}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {13C368E6-A7BE-46E8-8CFB-64010C825748}.Debug|Any CPU.Build.0 = Debug|Any CPU + {13C368E6-A7BE-46E8-8CFB-64010C825748}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {13C368E6-A7BE-46E8-8CFB-64010C825748}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {13C368E6-A7BE-46E8-8CFB-64010C825748}.Release|.NET.ActiveCfg = Release|Any CPU + {13C368E6-A7BE-46E8-8CFB-64010C825748}.Release|Any CPU.ActiveCfg = Release|Any CPU + {13C368E6-A7BE-46E8-8CFB-64010C825748}.Release|Any CPU.Build.0 = Release|Any CPU + {13C368E6-A7BE-46E8-8CFB-64010C825748}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {13C368E6-A7BE-46E8-8CFB-64010C825748}.Release|Mixed Platforms.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE Modified: trunk/cruise.build =================================================================== --- trunk/cruise.build 2008-12-17 04:35:54 UTC (rev 197) +++ trunk/cruise.build 2008-12-17 16:41:58 UTC (rev 198) @@ -48,11 +48,12 @@ <attributes> <attribute type="ComVisibleAttribute" value="false" /> <attribute type="AssemblyVersionAttribute" value="${assembly-version}" /> - <attribute type="AssemblyCopyrightAttribute" value="Copyright (c) 2007, Jeremy D. Miller" /> + <attribute type="AssemblyCopyrightAttribute" value="Copyright (c) 2003-2008, Jeremy D. Miller" /> <attribute type="AssemblyProductAttribute" value="StructureMap" /> <attribute type="AssemblyCompanyAttribute" value="" /> <attribute type="AssemblyConfigurationAttribute" value="${project.config}" /> <attribute type="AssemblyInformationalVersionAttribute" value="${assembly-version}" /> + <attribute type="AssemblyFileVersionAttribute" value="${assembly-version}" /> </attributes> <references> <include name="System.dll" /> @@ -100,9 +101,12 @@ <exec program="${nunit-console.exe}" workingdir="${build.dir}"> <arg value="StructureMap.Testing.dll" /> </exec> + <exec program="${nunit-console.exe}" workingdir="${build.dir}"> + <arg value="StructureMap.DebuggerVisualizers.Testing.exe" /> + </exec> - - </target> + + </target> <target name="runDoctor"> <echo message="Running StructureMapDoctor" /> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |