Salut,
.net tourne maintenant sous linux avec mono, le but affiché de microsoft est, à terme, le multi platforme qui suit l'interoperabilité des langages.
Tous les outils ne sont pas gratuits, c'est vrai, mais rien n'empeche de programmer entièrement gratuitement.
VisualStudio est la reference mais SharpDevelop est son clone issu du monde libre. Il existe même C#Builder de borland dont l'edition personelle est gratuite.
http://dotnet.developpez.com/outils/


