StructureMap 2.4.9 Preview Release is available

A preview release of StructureMap 2.5 is available now at http://sourceforge.net/projects/structuremap.  The code is completely baked (minus some convenience methods I’m going to throw in), but I’m lagging on the documentation (life has been intruding on my side project time lately).  I’ll make the full and official release as soon the documentation is done.  This release marks a large scale re-architecture of StructureMap and has taken it very far from its roots as a simple tool to build objects from an Xml representation.  As such, I’m completely rewriting the documentation and website as well.  I’m hoping to include quite a few samples of usage.

The new functionality in StructureMap 2.5:

* The ability to use StructureMap with ZERO Xml or attributes by default 

* The ability to add services at runtime.  You can now programmatically add an entire Assembly at runtime for modular applications that might not want all services to be loaded at startup.

* An auto mocking container based on Rhino Mocks 3.5.  I was a doubter on the validity of AMC, but I’m sold now that I’ve used it 

* More sophisticated auto wiring rules

* Supporting NameValueCollection and IDictionary<Key, Value> types

* Far more extensibility

* Interception and post processing hooks for you AOP enthusiasts.  StructureMap will NOT include its own AOP engine, but will allow you to use the runtime AOP technique of your choice.

* More configuration options in both Xml and the Fluent Interface.  Usability tweaks for the Fluent Interface.

* More options for modular configuration (mix and match Xml configuration or Registry’s at will) — which basically had to trigger:

* Completely revamped diagnostics, including the Environment Testing support

* Transparent creation of concrete types that are not explicitly registered

* Create objects with explicit arguments passed to the container

* Use the underlying Container independently of ObjectFactory

* Pluggable auto registration

* StructureMap is now strong named (thanks to Steve Harman)

* Pull configuration from the App.config (thanks to Josh Flanagan)

* Generics fixes (thanks to Derrick Rapp) 

 

 

Anyway, I’ve got some documentation to go write…. 

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://codebetter.com/blogs/jeremy.miller Jeremy D. Miller

    @Joey,

    I would be very interested in the patch. You can send it to me at jeremydmiller@yahoo.com and I’ll get it in this weekend.

    Jeremy

  • http://www.jsc-projects.nl/ Joey Chömpff

    I don’t know if you are interested but I’ve got an patch available for running StructureMap 2.5.0 (Aug 14, 2008) on medium trust. I’ve only tested it with “ForRequestedType().TheDefaultIsConcreteType();”

    If you are interested you could contact me at jchomff add gmail dot com

    Greetz,

    Joey Chömpff

  • http://www.jsc-projects.nl/ Joey Chömpff

    Does somebody have StructureMap running under medium trust? If not are you planning to implement Partial Trust Environment.

    tia,

    Joey Chömpff

  • http://codebetter.com/blogs/jeremy.miller Jeremy D. Miller

    @Pingback,

    LoL! I’m on it, I swear!

  • Pingback

    The international community of Pingbacks acknowledge the fact that once again Jeremy promised to complete documentation for the StructureMap.

  • ccollie

    Jeremy,
    just a quick question. im working on a ASP.NET project with tight security restrictions (and i dont control the server). Is it possible to use this in medium trust if i manually register my services.
    ive had to write a sickly ServiceLocator to attempt keep my dependencies in order.

  • Mohan Kumar

    Congrats on the release, Jeremy!

    Looking forward to seeing more documentation on the fluent interface wiring (zero-XML configuration)

  • http://davybrion.com Davy Brion

    That’s quite a list of changes… doesn’t this merit a 3.0 version number? ;)