.net .net-4.0 .net-4.5

¿.NET 4.5 funciona al lado de.NET 4.0?



.net-4.0 .net-4.5 (3)

Estoy interesado en instalar .NET 4.5.

Pero he oído que es una actualización in situ.

Dado que los usuarios de mi empresa usan Windows XP. No puedo lanzar ninguna aplicación del lado del cliente que use .NET 4.5.

Sé que puedo apuntar .net 4.0 cuando codigo, pero, si instalo .net 4.5, ¿hay riesgo de que las cosas funcionen en mi máquina que no funcionarán en una máquina con Windows XP (que solo tiene .net 4.0)?

(Por cierto, miré pero no vi que se hiciera esta pregunta. Si se le ha preguntado, indíquemela e intentaré eliminar esta).



La respuesta aceptada es muy relevante, pero permítanme agregar un ejemplo de una situación en la que el objetivo 4.0 compilado en una máquina 4.5+ es algo menos útil que un 4.0 con errores solucionados.

Si tiene alguna ComReference en sus proyectos, invocará tlbimp.exe desde .NET 4.5 en la máquina de compilación. Esto puede hacer que su software contenga envolturas que hacen referencia, por ejemplo, a un método System.Reflection.MethodInfo.CreateDelegate(System.Type) que solo existe en .NET 4.5. Obtendrá una MissingMethodException en la máquina WinXP.

Esto me sucedió cuando ComAdmin con el espacio de nombres ComAdmin , que son objetos COM para acceder al catálogo COM +, pero sospecho que el problema puede ser más amplio.


Sí, hay riesgos del tipo que describes. La interfaz de .NET 4.0 no se modifica, por lo que si se dirige a .NET 4.0, su programa se compilará y ejecutará en XP con .NET 4.0, pero la implementación .NET 4.5 de .NET 4.0 también contiene correcciones de errores. Si confías en que .NET Framework no tiene errores, y el único .NET Framework for XP disponible tiene errores, tu programa experimentará esos errores. He tenido esto que pasar con Entity Framework, pero también podría haber otras correcciones de errores.