I've been using some Azure bits with node.js without much issue... I'd say that C# is probably my second favorite language, and that I really like JS as my first. Which really doesn't fall in line with a lot of people, but that's where I stand... I actually like each for their differences.
Part of my own reasons for moving away from C# and much more into the node ecosystem has been in terms of licensing and avoiding lock in. Now that MS is going a much more open route, I'm willing to actually consider some pieces in that direction again.
VS can be very nice to work with, my single largest issue has been how systems have been designed with it, far above and beyond issues with the underlying platforms or the language. The tooling is very nice. However my experiences with "Enterprise" projects leaves a bitter taste in my mouth.
More often than not, I've seen "Enterprise" (quotes intentional) projects that seem to add complexity for its' own sake. Writing code that is unit tested in Java or C# are just plain painful compared to say JS/node. I find that comes down to differences between a static platform and a dynamic one though.
I think MS is rightly pushing for greater Azure deployment of server-side applications. The desktop is dying for most people, and mobile is not going away. By opening the tools, and providing better integration, they allow for a transparent deployment to Azure which is a rented platform which will receive more consistent revenue. It's simply good business.