¿Cómo funciona Microsoft.Bcl.Async?

Microsoft.Bcl.Async permite a los desarrolladores usarasync/await palabras clave sin .NET Framework 4.5 a las que se supone que deben apuntar para usarlas.

Eso es genial, gracias al trabajo increíblemente duro de las personas en los equipos de lenguaje y CLR de Microsoft.

Ahora tengo curiosidad de cómo puede funcionar esto.

async/await requiere que el compilador haga un trabajo pesado para convertir el código en algo que pueda esperar a las operaciones.

El compiladororiginalmente arroja errores de compilación bajo .NET Framework 4.0, incluso si sabe claramente quéasync/await media (Visual Studio 2012/2013.)

Entonces, ¿cómo le dice esta biblioteca al compilador que no arroje errores de compilación específicos relacionados con operaciones asincrónicas, y que levante algo de código como si estuviera en .NET Framework 4.5?

Respuestas a la pregunta(2)

Su respuesta a la pregunta