Microsoft’s “One standard library”, .NET Foundation

.NET Foundation

Whenever you hear the word “foundation”, what usually comes to mind? I always immediately think that someone’s going to ask for donations – ironically enough Microsoft is, but in a good way!

At Microsoft’s annual technical conference //build/ — there were some huge announcements that got the community excited. One of my personal favorites was the tandem presentation by Scott Hunter and Scott Hanselman on the .NET foundationMicrosoft continues to push at the boundaries and is making huge strides not only open sourcing countless projects but also accepting community driven documentation, live streaming community stand-ups, and sharing working road-maps. It’s no surprise that Microsoft is leading the industry in transparency. Enter the .NET Foundation.


The lay of the land

With the acquisition of Xamarin and the efforts of .NET Core and ASP.NET Core, one of the major architectural concerns became more evident.  It was obvious that the frameworks were becoming too vertical. The BCL couldn’t serve .NET Core or Xamarin. Each vertical would obviously have its own set of focused efforts, but what happens when you’re working in vertical A, but you want something from vertical B? You end up with a mangled mess of interwoven dependencies or worse, duplicated code (which isn’t DRY).


Where we’re heading

Rather than waiting around for the symptoms of the aforementioned issue to reveal themselves, Microsoft made it very clear that they are attacking this issue immediately. This is where you finally get the Lord of the King’s parody quote you’ve been waiting for:

” One library to rule them all

Notice how this diagram depicts the merging of the BCL, Core Library and Mono Class Library — this is being termed the “.NET Standard Library”.


This means that in the not too distant future, you’ll notice a lot of changes — but they are for the better.

Now taking donations

While this is a play on the terminology itself, it still stands tall. As I called attention to earlier — Microsoft has been stepping into the open source realm for years now and accepting pull requests on all their open source projects. This is where you come in! Make a donation, give back to the community…put yourself out there and contribute to the cause. How awesome would it be to say, “I helped develop parts of the .NET Foundation“? It is a rather simple process:

  1. Fork the desired github repo you plan to contribute to
  2. Follow the readme
  3. Make an improvement to the source
  4. Create a pull request

Community contributions are directly responsible for HUGE performance gains. At //build/ someone from Microsoft was discussing the performance of ASP.NET Core 1.0 and specifics around benchmarking…it was stated that they are actually running @ 3.4 million requests per second, that’s 11x faster than Node.js!


Scott Hanselman (left), Ben Adams (middle) and Me (right)

Ben Adams just so happens to be one of the primary open source contributors that has made these performance gains possible.

Visual Studio to .NET version

I wanted to put together a table that maps .NET Framework versions to Visual Studio versions. Things are starting to move more quickly than in years past.

Visual Studio Version .NET Framework Version(s)
2002 Only 1.0
2003 Only 1.1
2005 Only 2.0
2008 * 3.0 or 3.5
2010 * 4.0
2012 * 4.5
2013 * 4.5.1
2015 * 4.6, 4.6.1, ASP.NET Core 1.0, or .NET Core 1.0
15 (Preview) * 4.6.2
* Optionally target all previous .NET versions of the framework (project configuration)


This wouldn’t be much of a post on the .NET Foundation if I didn’t at least direct people to the new .NET Core command line interface — here. This is a great starting point and reference point to follow as the foundation starts shifting.

Finally Microsoft’s mission statement:

” Our mission is to empower every person and every organization on the planet to achieve more.

I believe that they’re doing a great job at this. With their open source strategy, they are fulfilling this. Now go contribute (donate) and give back to the community!