With the whole CLI, CTS, CLS, etc., not only did they release a powerful platform/infrastructure, but they released all the specs that describe it etc. It supports potentially infinite myriad languages, platforms, etc. This seems like an insane amount of work, even for a behemoth like Microsoft – especially since it turns out they did a damn good job.
How long were they working on this before releasing it (.NET 1.0)?
Best Answer
You might find this Wikipedia article to be interesting and informative.
An old press release for the .NET family alludes to its previous title of Next Generation Windows Services (NGWS). If sarcasm is more your cup of tea, this announcement from The Register is interesting as well.
And according to this Wikipedia article on Microsoft codenames, it appears that .NET/NGWS went by the names Lightning and Project 42.
Wikipedia links to an interview of Jay Roxe and an article from The Age as evidence for this information.
Jay tells us that development had begun in earnest at least by 1997, as that's when he joined the team:
A blog post by Jason Zander on an unrelated topic gives us the interesting tidbit of information that the "Lightning" codename was chosen by the founder of the CLR team, Mike Toutonghi:
And James Kovacs's C#/.NET History Lesson fills in a few more of the gaps. This Stack Overflow question is also worth a read, for those interested in history.