We know in Dot Net Framework , Compiler compiles the managed Code to Intermediate Code and then to machine code.
Now my Question why Compiler straighforward compiles from Manage code to Machine Code. Why It has to first convert to Intermediate Language ?