The situation was continued till days that open source spread more widely and internet connections get more accessible in my area of study/work. While I was a Delphi developer and while in first years of C#/ASP.NET, the only open source projects I could find was Linux kernel and other similar projects. These projects was almost written in C and were very large to me to understand and compile.
Fortunately open source projects in C#/ASP.NET has after then increased rapidly and people like me find the chance to get familiar with them. This is exactly the time that I begun to learning software development lessons from famous .Net open source projects like NHibernate, log4net, NUnit, Cuyahoga and so many other ones.
After then I started to download, deploy, use, collaborate in community, build and understand them. By doing each activity I learned a new thing, One of the best learner projects I ever encountered is Cuyahoga. Cuyahoga is an open source CMS that is based on C#/ASP.NET MVC and NHibernate. It works fine with Mono and MySql too. By Cuyahoga I got introduced with Git, a decentralized SCM. Cuyahoga project itself uses some other nice open source .Net projects either internally like NHibernate or for its website and community. For example it uses YetAnotherForum.NET as its forum software, ScrewTurn Wiki for wiki, NAnt, NUnit and finally NHibernate.