StructureMap goes 1.0! New release of the best Dependency Injection tool for .Net*

* as voted on by me, the impartial developer of StructureMap who has never used any of the other equivalent tools.  If nothing else, StructureMap predates both Spring.Net and Castle.


StructureMap is a Dependency Injection framework that can be used to improve the architectural qualities of an object oriented system by reducing the mechanical costs of good design techniques. StructureMap can enable looser coupling between classes and their dependencies, improve the testability of a class structure, and provide generic flexibility mechanisms. Used judiciously, StructureMap can greatly enhance the opportunities for code reuse by minimizing direct coupling between classes and configuration mechanisms.


I made a new release of StructureMap this evening that incorporates 15 months of enhancements and refactorings that I’ve made to support our project work.  We’ve used StructureMap successfully as the configuration subsystem of a rules engine and to smooth out the deployment reliability and testability of a large legacy system.  The new functionality includes:


  • New terser Attribute Normalized Xml configuration style
  • The ability to include secondary configuration files
  • Set a default profile at the top level of configuration
  • StructureMapExplorer, a WinForms tool to explore and debug StructureMap configurations
  • New ancillary NAnt tasks, including functionality to create a file “manifest” to verify the contents of an application deployment
  • New configuration storage choices
  • New Instance lifecycle scoping options (PerRequest, Singleton, ThreadLocal, etc.)
  • The “TemplatedMementoSource” option for large instance graphs
  • Streamlined codebase with less coupling and greater test coverage.  Greatly improved diagnostics.
  • New methods on ObjectFactory

    • GetAllInstances() – returns all instances of a certain type
    • WhatDoIHave() – for runtime troubleshooting
    • GetInstance(Type, InstanceMemento)

    See the release notes at:


    http://StructureMap.sourceforge.net or download at:


    http://sourceforge.net/projects/structuremap


    I wasn’t sure I was ever going to get around to putting out another release (I honestly thought I’d get a release out last year before Revenge of the Sith came out), but I’m sitting here watching the Clippers win a playoff game, so I think you can say that anything is possible.

  • About Jeremy Miller

    Jeremy is the Chief Software Architect at Dovetail Software, the coolest ISV in Austin. Jeremy began his IT career writing "Shadow IT" applications to automate his engineering documentation, then wandered into software development because it looked like more fun. Jeremy is the author of the open source StructureMap tool for Dependency Injection with .Net, StoryTeller for supercharged acceptance testing in .Net, and one of the principal developers behind FubuMVC. Jeremy's thoughts on all things software can be found at The Shade Tree Developer at http://codebetter.com/jeremymiller.
    This entry was posted in StructureMap. Bookmark the permalink. Follow any comments here with the RSS feed for this post.
    • http://www.backlinkschecker.ws/backlinks/buylinks.html Purchase High PR Backlink

      wow great! Thx for sharing this  

    • http://npaez@fi.uba.ae Nicolaz

      I looks great!!!!
      I would like to integrate it with an AOP framework.

      Is it possible to indicate StructureMap to use MyAOPFactory to create certain objets?

      regads,
      Nicolaz

    • http://davidkean.net David M. Kean

      Its looks like, I be having a bit of a play around with it tonight.

      Have you considered running FxCop over it?

    • http://www.jeffreypalermo.com jpalermo

      Congratulations. I use StructureMap for my own projects outside of work as well. I know an application at Dell, Inc. is using it as well. It’s a great tool. I wouldn’t want to be without it now.