Component-Based Development With Visual C#, by Ted Faison, may aspire to be about component-based development, but it is mostly about describing the full breadth of programming possibilities exposed by Visual Studio .NET. To be fair, the first few chapters provide a good introduction to the development process, software components, and component design, including the classic design patterns. Each topic deserves its own book, of course, and many have been written, but it does provide a nice overview.
The rest of the book is about writing components for the .NET Framework in C# using Visual Studio .NET. The book touches on an amazing array of topics, but it is clear that the writer is not an expert on all of them, and, in fact, knows quite little about some of them, as evidenced by frighteningly inaccurate statements about the registry and shortcut files. This book might be useful for programmers that are new to Windows programming with Visual Studio .NET, but, by itself, it will give them just enough rope with which to hang themselves.
(One final note: The Web sites mentioned in the book are no longer valid links. The book is now being sold by Wiley, but I could not find any link to download the source code.)