Common Language Runtime
VB
Source code
C++
C#
Assembly
IL Code
Assembly
IL Code
Operating System Services
Native Code
Managed
code
Modelo de Execução
Assembly
IL Code
Unmanaged
Component
JIT Compiler
Compiler
Compiler
Compiler
Executável (.EXE), Página (.ASPX),
LocalService (.DLL) ou WebService (.ASMX)

| O modelo de execução do Framework ocorre da seguinte forma: Cada linguagem tem um compilador para .NET. Com isso é possível fazer um programa em C#, uma DLL em VB.NET e outra parte em C++. Quando você compilar o código será gerado um EXE, ASPX, DLL ou ASMX conforme o tipo de projeto, mas o mais importante é que será gerado um código em Intermediate Language. Por isso é que é possível fazer com que as linguagens interajam entre si. Este IL será gerado no ambiente Managed Code, ou seja, no ambiente do .NET. Em seguida, o CLR passa por um JIT (Just In Time Compiler) e o código fica pronto (nativo) para ser executado. Note que é possível usar componentes externos ao .NET, no entanto, será executado em um ambiente Unmanaged Code. Isso significa dizer que se ocorrer algum erro no componente, pode travar o sistema operacional, enquanto que no ambiente .NET isso não ocorre.