2011-08-16 14 views
5

He desarrollado una solución .NET que consta de varios ensamblajes, la mayoría de los cuales son ensamblajes pequeños de ayuda que se dirigen a la versión 2.0 de .NET Framework. Los ensamblajes restantes son aplicaciones web MVC 3, que necesariamente deben estar orientadas a la versión 4.0 de .NET Framework. Mi solución no tiene otras dependencias externas además de .NET y MVC Frameworks.¿Pueden los ensamblados .NET 2.0 ejecutarse bajo .NET 4.0?

Mi pregunta es la siguiente: cuando despliego esta solución a los clientes, ¿tengo que implementar ambas versiones de .NET Framework, o puedo simplemente implementar la versión 4.0? ¿Pueden los ensamblados .NET 2.0 ejecutarse bajo .NET 4.0?

+0

Las tres respuestas son igualmente válidas, pero, ya que sólo puede aceptar una, acepté el uno, que fue publicada por primera vez. – pyon

Respuesta

3

Solo necesita la última versión. Es a la baja compatible.

+0

Esta es una verdad calificada. Se mi respuesta a continuación. – mhvelplund

1

la respuesta es sí, asambleas desarrolladas para .NET 2.0 funcionará correctamente en .NET 4.0

7

Sí, las dependencias incrustadas en la asamblea de .NET 2.0 asambleas son traducidos automáticamente a su versión 4.0. Pero se ejecuta con una versión de esos ensamblajes en los que nunca se ha probado. Son muy compatibles, pero contienen varias correcciones de errores, errores de los que sin saberlo puede depender. Nadie puede darte una garantía del 100%.

Solo pruébalo.

+0

Afortunadamente, mis ensamblados .NET 2.0 son bastante simples. La mayoría de ellos son simplemente tipos de datos antiguos, es decir, modelos para las aplicaciones MVC; y los pocos, que no son solo tipos de POD, son solo clases de ayuda, que recuperan datos de una base de datos y llenan instancias de esos tipos de POD. – pyon

0

Sí y no (al menos para .Net 4.5). Si bien es compatible con versiones anteriores, el valor predeterminado es ejecutar el código en la versión .Net asociado como se ha señalado here:

El .NET Framework 4.5 y sus versiones puntuales son compatibles con versiones anteriores de aplicaciones que fueron construidas con versiones anteriores del .NET Framework. En otras palabras, las aplicaciones y componentes creados con versiones anteriores funcionarán sin modificaciones en .NET Framework 4.5. Sin embargo, de forma predeterminada, las aplicaciones se ejecutan en la versión del tiempo de ejecución de idioma común para el que se desarrollaron, por lo que es posible que deba proporcionar un archivo de configuración para permitir que su aplicación se ejecute en .NET Framework 4.5. Para obtener más información, consulte la sección Compatibilidad de versión para aplicaciones anteriormente en este artículo.

Después de añadir un archivo MyLovely.exe.config todo funcionaba bien:

<configuration> 
    <startup> 
    <supportedRuntime version="v4.0"/> 
    </startup> 
</configuration> 
Cuestiones relacionadas