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….