¿Un servidor de compilación con .NET 4.5 instalado correctamente puede implementar un proyecto dirigido a 4.0 en un servidor con solo .NET 4.0 instalado?

Recientemente hemos instalado .NET 4.5 en nuestro servidor de compilación de integración continua para que pueda admitir nuevos proyectos que utilicen las características de .NET 4.5. Este servidor de compilación también se usa para compilar e implementar proyectos anteriores, algunos de los cuales están orientados a .NET 4.0.

Los proyectos que apuntan a .NET 4.0 se están construyendo en este servidor y luego se implementan en un servidor de destino que solo tiene .NET 4.0 instalado ahora están fallando con el siguiente error:

Method not found: 'Int32 System.Environment.get_CurrentManagedThreadId()'.

Environment.CurrentManagedThreadId es una nueva propiedad de .NET Framework 4.5, por lo que tiene sentido que un servidor que ejecuta 4.0 no pueda encontrarlo. Sin embargo, nosson apuntando a .NET 4.0 en tiempo de compilación, así que en teoría no deberíamosnecesitar tener 4.5 instalado en el servidor de producción.

Para resumir:

Objetivos del proyecto 4.0El servidor de compilación tiene 4.5 instaladoEl servidor en el que se implementa el proyecto solo tiene .NET 4.0Proyecto falla en tiempo de ejecución con errorMethod not found: 'Int32 System.Environment.get_CurrentManagedThreadId()'.

¿Lo que da? ¿Es posible ejecutar con éxito .NET 4.0 dlls en un servidor con solo .NET 4.0 instalado cuando los dlls son creados por un servidor con .NET 4.5?

Respuestas a la pregunta(1)

Su respuesta a la pregunta