One of the books I’ve re-read during my August vacations was Don Box’s Essential .NET. Tentatively called Essential .NET, Volume I: the Common Language Runtime (I say tentatively because there never was a volume II), it’s really one of those interesting books which you need to read for understanding and having some background on how things worked and on why they were done like this.
The book is starting to show its age (I’ve bought my copy in 2003, if I’m not mistaken) but it still provides lots of value. This is a “Don Box book”, meaning that it’s not for the faint hearted or the novice. If you want to get started then you need to pick another book. This is really a hardcore .NET book about the CLR (like the title says). And being a “Don Box book”, you’ll probably need to read it several times to get the most from it…
The book starts by taking a look at the origins of the CLR and on how it improves the existing state of things (which, if you don’t recall, was COM). After this brief introduction, things start to get really interesting. You’ll start by understanding modules and assemblies and then you’ll see how the CLR is able to find and load them. Then things get even more interesting as Don goes through the CTS, objects and values, methods, app domains,security and interoperability with unmanaged code.
Overall,and bearing the fact that this is not a beginner’s book, I’m giving it a 9/10 despite its age.