We're a Python/Django shop with a few ASP.NET/C# projects every now and again. We use Django CMS for many of our clients, but we've used Umbraco for a few. It was aweful, the interface is fine for editing content, but building and templating a whole site through a web based client is painful.<p>Trying to build extensions was daunting, especially with the free version, it seems like they have a Commercial version with a few more developer bells and whistles.<p>Version control was also a pain, because everything is stored in the database, including templates and styling, so you can't really version control that with an outside VCS (we use Git). And what you CAN put under version control is half binary files anyway, hello conflictville, population you and a bunch of binary conflicts every time you sync.<p>Overall, I'm in love with Django CMS, and .NET is an old lover whom I don't really want to talk to any more, but she's still in my phone so I know who's calling when she drunk dials me.
If you're a developer, using a CMS quickly becomes grating enough, but for me, using a .NET CMS eventually became unbearable.<p>After I had a few of these up and running for a couple of years, having implemented custom modules to collect form data, and even going through the trouble to pack the modules up all nice and kosher, when it came time to make a minor change to one of those modules, and I had to find a correct setup of Visual Studio, with all the dependencies, and then compile and deploy the module, just to make a small change, I said: never again do I want to write websites in a compiled language!
I haven't found a single .NET CMS that doesn't drive me completely batty. I think most CMS tools, including non-.NET ones, break down when they start trying to be able to do all things for all people. It's debatable if any are able to pull this off (though admittedly I'm not up on current CMS tools to know if that world has improved.)<p>Because of that, I've been rolling my own basic backend for my own personal use on projects for myself, friends & family for about a half-year now; the ultimate goal being dead-simple templating using standard HTML pages, fast & secure data & code, and ease of extensibility. It does what it needs to. But, because it's domain-specific, I'm not trying to make it a general-purpose "CMS," so I currently don't have to worry about stuff like registration/authentication, comments, etc. I would never release it in its current state, though, and likewise I'd probably never plug a bunch of other junky code into it, expose a ton of dubiously-designed interfaces & reflection as "extensibility," require master pages (ew) or some custom markup language (ew x 2) to make templates, and call it a full CMS.
<i>DotNetNuke, also known as DNN, is the ideal platform for building professional websites with dynamic content and interactive features.</i><p>This made me laugh. My coworkers that have worked with DNN have many horror stories. I've never heard from a developer that used DNN and liked it. Given the superficiality of the descriptions, I assume all the info was copy/pasted from the marketing material for each project.
BlogEngine.NET is a wonderful blog platform (I consider that a CMS) that's easy to extend and the codebase isn't so massive that you can learn it quickly. Some of these, like DNN, are nightmares.
People interested in .NET Content Management Systems may want to watch the Orchard Project: <a href="http://orchard.codeplex.com/" rel="nofollow">http://orchard.codeplex.com/</a>