Shockingly, my efforts to complete the documentation on StructureMap 3 have taken much, much longer than I had hoped — but there’s some real progress worth talking about. This time around, I’m adopting the idea of “living documentation” where the code samples are taken directly out of the code in the main GitHub repository at publishing time so that the documentation never gets out of sync with the code. For the most part, I’m using unit test code to demonstrate API usage in the documentation with the thinking there that the resulting documentation is much less ambiguous and again, cannot be out of sync with how the code actually works as long as those unit tests are passing.
If you’re curious, I’ve been using our (now abandoned) FubuDocs project with FubuMVC.CodeSnippets to author and publish the documentation. All the documentation is in GitHub in the StructureMap.Docs project (and yes, I certainly take pull requests).
The new documentation has moved to GitHub pages hosting at http://structuremap.github.io. I’m not sure what’s going to happen to the old structuremap.net website yet.
Some highlights of the documentation so far:
- A Gentle Quickstart
- The Registry DSL
- Resolving Services
- Object Lifecycles
- Nested Containers
I’m committed to finishing the documentation, but I’m obviously not sure when it will be complete. I’d like to say it’s “done” before starting any significant new OSS project and I’m using that to force myself to finally finish;)
4 thoughts on “StructureMap 3 Documentation”
Looks like XML configuration is completely dead. Cloned master branch, xml config project is not even part of the solution 😦
Plus, CommonAssemblyInfo.cs is missing from sources, Castle library is missing etc. Ruby required to compile? Failed from Visual Studio 2013.
Look at the readme for instructions on building. We use rake for build automation and CommonAssemblyInfo is generated, so it’s not committed to git.
That’s pretty well documented in release notes and blog posts. I’m happy to help you convert over from the old xml config.