Agreed on Razor... it's by far the best template engine I've used. It's a shame it's a bit of a pain to use outside of a web context (email templates, for example). Though I actually like using component-like systems more now (React, MercuryJS, RiotJS, Polymer...) with JS client and server.