All three?
All of them cover different markets, which (to a large extent) simply do not overlap. ASP.NET (and ASP.NET MVC in particular) is great for "classic" web development, and this is the way to go if you like HTML5, Javascript, and so on. Silverlight is when you make RIA or write applications for Flash killers. WinForms is designed for desktop development and is great for rapid business software development. WPF works great on the desktop for consumer software (where eye candy is just as important as functionality). WPF can also be used for business application applications, but I personally think that WinForms will be a little easier to understand (even if it is not so strong in terms of data binding, etc.).
Honestly, I think the question is character. If you are trying to decide which "area" you need to enter to find work (or something else), I suggest you follow your heart, not the taste of the month. Do what you think is most interesting, and - if you're good at it - the job will come no matter what area you choose.
Dean harding
source share