Open Source Microsoft–Build MVC, WebAPI, Razor, and WebPages

Scott Guthrie has announced on his blog that as of this very moment, ASP.NET MVC, ASP.NET WebAPI, and WebPages with Razor syntax have all been open sourced on CodePlex at That’s huge news. Oh and the ASP.NET Web Stack can be repo’d using TFS, SubVersion, Mercurial, and newly added Git.

So, you may be thinking “This sounds cool. But, what does it mean for me?” It means your awesome. It means that you can now take your favorite features and patches to their framework and submit it back to the team for review. It means you can use their framework when it is eventually ported over to Mono and other open-source platforms. It means, you’ll eventually be able to run ASP.NET wherever you’d like.

Be sure to check it out and provide feedback to the team. If you’re not sure what type of feedback to provide, choose from the following:

  • “The ASP.NET team just knocked it out of the park with this: Go OSS!”
  • “ScottGu and his team delivered yet again.”
  • “Who said that Microsoft can’t release software using an open source license?”
  • “Congrats to the ASP.NET team for, yet again, exceeding expectations!”

Your choice. In the meantime, great job Microsoft!

Should Microsoft and Amazon put Windows 8 on the Kindle?

A co-worker of mine sent off a Fox News article yesterday about a Former Microsoft employee that is “fixing” Windows 8. After reading the article, my first take away was another person explaining the Windows 8 UI flaws. Seriously? Those articles are a dime a dozen. Whenever you change the user interface of any system there will always be resistance. Don’t believe me? How about when Facebook users were upset about the Facebook UI changes? They didn’t up and leave to Google+ now did they? Rather than dive into what’s right with Windows 8, I’d like to explain my second take away a bit more.

I started to wonder, what if Amazon struck a deal with Microsoft to put Windows 8 on the second generation Kindle Fire? They’d obviously have to give something in return. So what if that something was their cloud offering? I mean, if ScottGu’s team can focus on the Azure UI, but the back end was Amazon, would that be the best of both worlds? My wife has a Kindle Fire. Comparing the screen size to my Samsung Series 7 Windows 8 slate, I can easily see Windows 8 on it. For one, the Kindle does not have Google Apps (unless you root the device). The reason for this is that Google can’t get over Amazon building a better UI than Android. Secondly, think of the power house that Microsoft and Amazon would create. Together, the two of them would help compete against both Apple and Google. Creativity would be injected into both. Let that soak in.

What if Microsoft started offering Amazon Payments, Kindle devices in their Store, and even search capabilities over Amazon’s entire Kindle library? What if Amazon was able to offer an updated and stronger cloud service, a larger footprint for Windows 8 devices, and even Microsoft Advertising across more devices and platforms?

What if?

Preventing Web Applications from Inheriting Parent Dependencies (bin)

Have you ever created a web application for something specific such as a standalone web app (forum, photo gallery, web service, etc.) while using ASP.NET and received this:


If you have, you probably became frustrated. I know I have. The reason  this occurs is that sub-applications under the main web application inherit the uplevel web.config settings. This means that the machine.config and other system config files filter into the main web’s web.config file as well.

You can prevent this from occurring as details quite well at

To do this, you’ll need to pull your dependencies and wrap them in a location element and add a attribute as shown below:

This will now load only the dependencies within the application.

<location path="." inheritInChildApplications="false">
        <!-- Compilation section with assemblies -->

You can also circumvent this issue by using sub-domain or another domain altogether.

JavaScript onClick Navigation Issues within Google Chrome are Solved

For the longest time, If I needed to use an onclick event for navigation (div or some other page element), I’d use something similar to:

<div onClick="location.href('/admin');"><!-- Something here --></div>

However, Google Chrome interprets the href property as a method or an object initializer. Instead, to get the onclick navigation to work properly in Chrome, set the property to a value using a typical setter such as:

<div onClick="location.href='/admin';"><!-- Something here --></div>

This simple change will allow Google Chrome to properly navigate to the page.

Hope that helps!