I've been a Classic ASP web developer for the last 10 years and for the second time in two years I'm facing the possibility of being laid off. The biggest difference now is that the job market for someone with my limited skill set is actually worse than it was in 2008-2009. Years ago I took a diploma course in ASP.NET web development but was unable to translate that into a job; since then, I've kept up my .NET skills on my own but have never been able to break through the 'no work experience' barrier, and I haven't been given the opportunity to work with .NET at any of the jobs I've held (including my current position, where they broke the promise they made at my hiring to send me out for training).
So, I'm wondering if it's even possible to self-teach and turn that knowledge into a paying position? Is the 'no work experience' catch-22 worse with Microsoft technologies than it is for others, or is it basically the same for all programming languages? I had considered joining open-source projects or doing volunteer work as a way to bootstrap myself in a new language, but the project listings I read all wanted experience with references. Is there any way to reboot my career at this point?
Edit: I'm curious about the job market for open-source languages vs. MS languages. Is it easier to get a job as, say, a self-taught Ruby programmer than a self-taught C# programmer? The last time I scanned through Craigslist it seemed like all of the grassroots/startup opportunities were all PHP, Ruby, etc.