Programming Microsoft .NET, by Jeff Prosise, is a well-written book about the .NET Framework. It focuses heavily on ASP.NET, which shouldn't be terribly surprising, considering that the .NET framework provides the most immediate productivity for Web development. The book gives only a chapter to client application development through Windows Forms, but it's a long chapter, and other books have been written to fill the gap. I especially enjoyed the chapter on ADO.NET, which gave a good introduction to accessing databases with .NET without going too far over my head.
This book is great for experienced Windows developers that want to understand the .NET Framework. There is very little coverage of Visual Studio .NET, which is a good thing, as it ensures that the reader understands the underlying concepts. Even with some .NET experience, I found that the book discussed topics that weren't covered in other similar books. For example, I wasn't familiar with the concept of background versus foreground threads in .NET until I read that section in the chapter on multithreading. (Background threads will not keep the application alive even if they are still running.) The book certainly can't cover the full breadth and depth of .NET, but it should enable the reader to become quickly productive with C# and .NET.