Você pode achar este artigo da Wikipedia interessante e informativo.
A Microsoft iniciou o desenvolvimento no .NET Framework no final dos anos 90, originalmente com o nome de Next Generation Windows Services (NGWS). No final de 2000, as primeiras versões beta do .NET 1.0 foram lançadas.
Um comunicado de imprensa antigo da família .NET faz alusão ao título anterior de Next Generation Windows Services (NGWS). Se o sarcasmo é mais sua xícara de chá, este anúncio do The Register também é interessante.
E, de acordo com este artigo da Wikipedia sobre nomes de códigos da Microsoft, parece que o .NET / NGWS recebeu o nome de Lightning e Project 42 .
O Project Lightning era o codinome original para o Common Language Runtime em 1997. [73] A equipe estava sediada na criação 42, daí o Projeto 42. "Next Generation Windows Services" apareceu nos primeiros comunicados à imprensa sobre a plataforma futura.
A Wikipedia possui links para uma entrevista de Jay Roxe e um artigo da The Age como evidência para essas informações.
Jay nos diz que o desenvolvimento havia começado a sério pelo menos em 1997, pois foi quando ele se juntou à equipe:
OK, bem, deixe-me contar a história. Entrei para o que agora é a equipe do .NET Framework, ou a equipe do Common Language Runtime, em novembro de 1997. [Isso foi] quando foi chamado de Project Lightning, depois se tornou COM +, depois se tornou o Project 42, depois tivemos essa bela re-organização que o transformou no Projeto 21? perdemos metade do time.
E assim, escrevi coisas como String e StringBulder, e escrevi a implementação inicial, embora não a possuísse para sempre, todos os tipos de base como Int [16, 32 e 64], e double, e todos esses. Fiz parte do trabalho em Object e fui Dev Dev para as classes System.IO, a globalização e várias coleções também.
Uma postagem de blog de Jason Zander sobre um tópico não relacionado nos dá a informação interessante de que o codinome "Lightning" foi escolhido pelo fundador da equipe do CLR, Mike Toutonghi:
O nome original da equipe do CLR (escolhido pelo fundador da equipe e ex-engenheiro da Microsoft, Mike Toutonghi) era "Lighting". A equipe de desenvolvimento de Larry Sullivan criou uma dll de extensão ntsd para ajudar a facilitar a inicialização da v1.0. Nós o chamamos de strike.dll (entendeu? "Lightning Strike"? Sim, eu sei, ba'dump bum).
E a lição de história C # /. NET de James Kovacs preenche mais algumas lacunas. Essa questão do Stack Overflow também merece uma leitura, para os interessados em história.