開源與免費是不同概念
開源即開放源代碼,指作者允許其源代碼公開,如php,你可以看到其類庫中所有代碼的編寫過程。
.NET不開源是指.NETFramework類庫并非開放源代碼,你無法看到諸如string.Replace()int.Parse()object.Equals()等由.NETFramework類庫提供源代碼。但.NETFramework類庫是免費使用的
VisualStudio是微軟開發的適用于編寫c#、vb、j#、c++等語言的集成開發環境,與ZendStudio(php集成開發環境)一樣,是要收費的,但c#、vb、j#、c++這些語言工具是免費的,任何人可以通過使用這些語言工具編寫自己的程序。
.net程序的開發需要IDE,而VS是收費的,當然,你可以不使用VS這類收費IDE,使用免費的IDE甚至記事本開發也是可以的,但.net的運行環境需要基于windows,不像php等可以在免費的linux系統中運行,而windows也是要收費的,這就是微軟的盈利的方式