Ayende @ Rahien

My name is Oren Eini
Founder of Hibernating Rhinos LTD and RavenDB.
You can reach me by phone or email:


+972 52-548-6969

, @ Q c

Posts: 6,130 | Comments: 45,558

filter by tags archive

Strategy Provisioning for Application Management b...

time to read 1 min | 151 words

image Glenn Block has posted to the ALT.Net mailing list that the P&P team are working on a dependency injection application block.

At this point, I am not really sure what to think. ObjectBuilder was bad. I am still having to deal with fallout from that failure.

The OSS community already has several mature IoC products.

Just in case Microsoft has missed them:

1/ Castle Windsor

2/ Structure Map

3/ Spring.NET


If they want to decouple themselves from an IoC implementation, there is a way to do that already in .Net. It is called IServiceProvider, and is already supported by the IoC implementation. A default implementation can be done with 15 lines of code, if they want to provide one.

I would really like to know, why the hell do we need another duplication of OSS?


Stuart Cam

Many IT shops will only adopt a technology or feature that has been "ordained" by MS.

The current organisation I am contracting for has a .NET development guidance document that locks developers exclusively into the Enterprise Library. It has a very small and tentative mention of nUnit - probably on the basis that MS haven't reinvented that wheel just yet.

MS has the "power" to reach out to the other 80% of programmers. Something that many OSS projects, no matter how great, find hard to do.

Just take a look at the MVC mindshift on Web Forms. Surely due to pressure from the ALT.NET community actually feeding back into the MS monolith?

Emanuele DelBono


I strongly strongly agree with you!

Why Ms do this?

Chris Brandsma

I agree with Stuart Cam. Plus there are many businesses that don't allow OSS products to be used.

I've heard excuses ranging from 1. Needing someone to sue, 2. Liability, 3. scared of loosing their intellectual property because of licensing restrictions (cough -- GPL)

So developer in this predicament have to choose between rolling their own (IOC can be written fairly easily, but you don't get a full featured product), or use what comes from Microsoft. Often the other accepted products: StructureMap, Spring, and Windsor, aren't worth the hassle of getting management and legal to sign off on.

Eric Hauser



I wonder if licensing is one of the issues? All 3 of those projects use the Apache 2.0 license which is similar in may ways to the MS-PL license, but there are some differences:



I think Hammett summed it up best somewhere when he mentioned the"throat to choke" when something goes wrong.

@Stuart - "It has a very small and tentative mention of nUnit - probably on the basis that MS haven't reinvented that wheel just yet."

You don't count MSTest?

Stuart Cam


To be honest I've been looking at the OSS world long enough to not notice MS reinvent that wheel!

My bad.

Glenn Block

The part that seems to have gotten missed is that the block allows you to plug in the container of your choice. This means you can use Castle, Spring or even your own homegrown version.


When you're Microsoft you gotta own it so you can provide protection to the people who use it. It's a legal issue as much as a not invented here issue.

Kenneth Kasajian

This will be very useful.

IoC/DI are here to stay, and will probably show up as language features in C# 5.0 or something like that.

But seriously, we need to have a Microsoft solution to this, and hopefully not something from open source but software that is guaranteed known to be only contributed by Microsoft employees.

Comment preview

Comments have been closed on this topic.


  1. How to waste CPU and kill your disk by scaling 100 million inefficiently - 13 hours from now
  2. RavenDB Conference 2016–Slides - about one day from now

There are posts all the way to Jun 01, 2016


  1. The design of RavenDB 4.0 (14):
    26 May 2016 - The client side
  2. RavenDB 3.5 whirl wind tour (14):
    25 May 2016 - Got anything to declare, ya smuggler?
  3. Tasks for the new comer (2):
    15 Apr 2016 - Quartz.NET with RavenDB
  4. Code through the looking glass (5):
    18 Mar 2016 - And a linear search to rule them
  5. Find the bug (8):
    29 Feb 2016 - When you can't rely on your own identity
View all series


Main feed Feed Stats
Comments feed   Comments Feed Stats