Sure, .Net stopped the bleeding for folks looking to develop Internet applications on Windows (away from tools that Microsoft controlled), but it didn't do what it was supposed to.
Instead of .Net propping up Windows, the greater Windows ecosystem propped up .Net. People coded to .Net because they were coding for SharePoint or BizTalk. If you delve deep into .Net jobs, you'll notice they tend to be legacy or related to SharePoint and friends.
Off to legacy land
Now it's too late for .Net. As we move from IaaS to PaaS and SaaS, folks are simply unlikely to care about operating systems. If you don't care about operating systems, why not code as if you don't care about operating systems and code for the cloud? We've seen recently that Azure isn't lighting the world on fire. Why would we expect that to change?
Even if you believe that most companies will continue to build their own data centers to care and feed, while ignoring the cloud, the desktop monopoly is also dying. Consumers are net information consumers. If you don't work in tech, publishing, or entertainment, then you probably take in more media than you produce. With the iPad, Android, and such, writing .Net isn't a viable business option. Miguel de Icaza can create all the companies that begin with "x" that he likes, but people will continue to care less about Mono or be scared off by its patent ambiguity.
As users move from the desktop to the tablet and set top to view their pornography, cat pictures, and Netflix movies, the economics that caused folks to "target" Windows are abating. This results in a downward spiral for 'Softies hoping that writing to .Net is enough.
I could theorize about how Microsoft could extend .Net -- but why should it? .Net was about extending Windows. In a cloudy BYOD, tablet-oriented, Internet-standards-driven world, there may no longer be room for Microsoft, let alone .Net. The .Net initiative failed, and if you were part of it, I hope you hedged your bets by learning a few other tricks along the way.
This article, "Why Microsoft .Net failed," was originally published at InfoWorld.com. Keep up on the latest developments in application development, and read more of Andrew Oliver's Strategic Developer blog at InfoWorld.com. For the latest business technology news, follow InfoWorld.com on Twitter.