Q1) ¿Por qué C# compilado inicialmente a IL y luego en tiempo de ejecución JIT cumplido y se ejecuta en la parte superior de una máquina virtual (?). ¿O es JIT cumplido con el código máquina nativo?¿Compilación o complicación del código .NET?
Q2) Si el segundo es verdadero (JIT cumplió con el código de máquina nativo), ¿dónde se encuentra el sandbox .NET bajo el que se ejecuta el código?
Q3) Además, ¿por qué el código se compiló a IL en primer lugar. ¿Por qué no simplemente compilar a código máquina nativo todo el tiempo? Hay una herramienta de MS de esto llamada ngen pero ¿por qué es eso opcional?
Una buena respuesta a [¿Por qué IL?] (Http://blogs.msdn.com/b/ericlippert/archive/2011/11/18/why-il.aspx) por alguien que trabaja en el Compilador de C# –