tags:

views:

275

answers:

5

Do you know any good book about the workings of the CLR, the .NET Framework and CIL as opposed to any specific .NET language?

+9  A: 

Although it mentions C# on the cover CLR via C# is a very good read to discover the ins and outs of the CLR.

Mez
Beat me to it, excellent read.
Sara Chipps
A: 
Ken White
I specifically am NOT looking for a book on C#, VB, F#, Iron*, you name it what .Net Language
Manu
Ah, so quick to downvote. Try http://stackoverflow.com/search?q=.Net+FrameWork+Books instead. 100s of recommendations, if you're not too lazy to actually click on the link.
Ken White
A "book on .NET framework" is not what he's asking for - most books found via such a search string would be about the class library, and either C#/VB as a language. He wants CIL, and details on how _CLR_ (that is, the VM) works.
Pavel Minaev
@Pavel: Yep. Apparently I'm suffering from an inability to read today. Answer withdrawn. Thanks for the thump on the back of the head. :-)
Ken White
+1  A: 

Regardless of any other books, you will definitely need ECMA-335 standard for a detailed specification of CLR and CIL. With sufficient experience, it may actually be sufficient on its own.

Also, "Expert .NET 2.0 IL Assembler" looks like it matches your requirements, though I haven't read it and can't comment on its quality. Amazon description looks promising, though:

Topics include managed executable file structure, metadata table structure, Microsoft IL instructions, structured exception handling, managed and unmanaged code interoperation, executable file generation, and metadata manipulation API exposed by the common language runtime.

Pavel Minaev
Thanks. This goes very much in the direction I was thinking about. Are there any books that cover the topics of the ecma-335 standard in a more "polished" and readable way?
Manu
Pavel Minaev
There is a reference implemntation of the ECMA spec put out by Microsoft called Shared Source Common Language Infrastructure (Rotor). Ted Neward and Joel Pobar wrote a draft to walk one through the project which is a PDF book: http://www.tedneward.com/files/SSCLI2Internals-DRAFT.pdf
David Silva Smith
A: 

This is a little dated but this is the book I used to learn .NET back then. Still relevant today as most things expanded but not changed. Essential .NET, Volume I: The Common Language Runtime

zvolkov
+1  A: 

I agree with Pavel. I've read a whole stack of these books and/or specs ... if you are just starting out here are the top 5 books/learning tools I would recommend:

Good for the CLI and fundamentals of the CIL

  1. Ecma 335 spec
  2. Serge Lidin's (APress Book) - Expert .NET 2.0 IL Assembler
  3. (optional and a little outdated) O'Rielly's Shard Source CLI Essentials with the PDF of the second edition's dreaft mentioned above).

Good for learning to program with CIL

  1. Jason Bock's (Apress Book) CIL Programming (this is .Net 1.1 and doesn't have generics but is good to build upon #1 and #2 - this book helps you with writing apps in IL)
  2. Reflector and ILDasm .... lots of looking at the code

Sharp Develop's IDE has a IL project type (VS doesn't) so if you want to write IL in an IDE instead of notepad you might want to check it out.

Jason Haley