What books would you guys recommend if one has been a java developer for years and is now trying to take the c#/asp.net route?
I find
Pro C# with .NET 3.0, Special Edition by Andrew Troelsen Apress © 2007 (1238 pages) ISBN:9781590598238
to be an excellent book.
CLR Via C# is a great book for C# for people with experience programming. Especially experience in other managed languages
First read this whitepaper:
C# From a Java Developers Perspective
Then, you can move onto books that cover the .NET framework, as you'll see the langauges differences are very quick to learn.
I have recently done exactly this and found the two most valuable books to be:
CLR via C# by Jeffrey Richter. Very well written and gives a great insight into the .net runtime - lots on the concepts you will already know from java such as garbage collection, threading, generics, etc. Plus really good in depth coverage of c# constructs like delegates and events that don't come with java (yet).
and
Pro C# and the .net 3.5 Platform by Andrew Troelsen. This is much more of a general text on the .net ecosystem. It has an excellent core language section, but then also gives a really good overview of the major libraries and apis - WPF, WCF, ASP.net, etc.
Those should provide you a solid foundation and are both pitched perfectly for the experienced programmer. After that, you'll probably end up looking for something more specific to the technology you are working in - a detailed ASP.net book in your case - but I constantly refer to both of these, so it is money well spent imho.