Compiling for the .NET Common Language Runtime (CLR) - Gough, John (Prentice Hall, 2002)