Información general sobre la compatibilidad con múltiples versiones (multi-targeting) en Visual Studio

La característica de compatibilidad con múltiples versiones (multi-targeting) de Visual Studio permite especificar la versión o perfil de .NET Framework necesario para usar la aplicación. La ventaja principal de esta característica es que se puede usar la versión actual de Visual Studio para crear y desarrollar proyectos que tienen como destino una versión anterior de .NET Framework. Por ejemplo, puede continuar desarrollando proyectos que se crearon en Visual Studio 2005 y Visual Studio 2008 sin agregar nuevas dependencias de .NET Framework. La compatibilidad con múltiples versiones (multi-targeting) ayuda a garantizar que las aplicaciones usan únicamente la funcionalidad disponible en la versión especificada de .NET Framework. Además, esta característica permite continuar implementando las aplicaciones sin necesidad de agregar una nueva versión de .NET Framework al paquete de implementación.

Nota

La compatibilidad con múltiples versiones (multi-targeting) no garantiza que la aplicación vaya a ejecutarse en varias versiones de .NET Framework. Puede usar esta característica para seleccionar la versión de .NET Framework de destino que va a usar la aplicación. Debe probar la aplicación para asegurarse de que se ejecuta correctamente en la versión seleccionada. La compatibilidad con múltiples versiones (multi-targeting) de Visual Studio solo se aplica a .NET Framework 2.0 y versiones posteriores.

Versiones y perfiles de .NET Framework

Visual Studio 2010 solo incluye .NET Framework 4. Para usar como destino versiones de .NET Framework anteriores, debe tener instalado .NET Framework 3.5 Service Pack 1 (SP1). .NET Framework 3.5 SP1 contiene .NET Framework 2.0, .NET Framework 3.0 y .NET Framework 3.5 SP1. Para descargar e instalar .NET Framework 3.5 SP1, vea Microsoft .NET Framework 3.5 Service Pack 1 en el sitio web del Centro de descarga de Microsoft.

Un perfil de .NET Framework es un subconjunto de .NET Framework que proporciona un conjunto limitado de bibliotecas y características. Un ejemplo de perfil de .NET Framework es un perfil de cliente que se puede usar para crear aplicaciones cliente. Para obtener más información sobre el perfil de cliente, vea .NET Framework Client Profile.

Puede especificar la versión o perfil de .NET Framework de destino mediante su selección en el cuadro de diálogo Nuevo proyecto al crear un proyecto. La lista de plantillas de proyecto disponibles se filtra en función de lo que se seleccione.

Nota

La compatibilidad con múltiples versiones (multi-targeting) a través del cuadro de diálogo Nuevo proyecto no está disponible en las ediciones Express de Visual Studio.

Cambiar la versión de .NET Framework de destino

En un proyecto existente, puede cambiar la versión o perfil de .NET Framework de destino modificando las propiedades del proyecto. Para obtener más información, vea Página de aplicación, Diseñador de proyectos (C#) y Configuración de compilador avanzada (Cuadro de diálogo, Visual Basic).

Cuando se cambia la versión de .NET Framework de destino, Visual Studio no siempre cambia automáticamente las versiones de los ensamblados a los que se hace referencia. Es posible que algunos cambios deban hacerse manualmente. Para obtener más información, vea Solucionar problemas de versión de .NET Framework de destino.

Características de la compatibilidad con varias versiones (multi-targeting)

La compatibilidad con varias versiones de Visual Studio incluye las siguientes características:

  • Al abrir un proyecto en Visual Studio destinado una versión anterior de .NET Framework, Visual Studio puede actualizarlo automáticamente o mantenerlo para la versión anterior.

  • Al crear un nuevo proyecto, puede especificar la versión de .NET Framework a la que desea destinarlo.

  • Puede cambiar la versión de .NET Framework a la que está destinado un proyecto existente.

  • Puede destinar distintos proyectos de la misma solución a versiones diferentes de .NET Framework.

  • Cuando se cambia la versión de .NET Framework que un proyecto usa como destino, Visual Studio realiza los cambios necesarios en las referencias y los archivos de configuración.

Además, cuando trabaje en un proyecto destinado a una versión anterior de .NET Framework, Visual Studio realiza dinámicamente modificaciones en el entorno de desarrollo, como las siguientes:

  • Filtrará los elementos de los cuadros de diálogo Nuevo proyecto, Agregar nuevo elemento, Agregar nueva referencia y Agregar referencia de servicio para omitir las opciones que solo están disponibles en versiones posteriores.

  • Filtrará los controles personalizados del Cuadro de herramientas para quitar aquellos que solo están disponibles en versiones posteriores y para mostrar la versión más reciente cuando hay varios controles disponibles para la versión de destino.

  • Filtra IntelliSense para omitir características de lenguaje que solo están disponibles en versiones posteriores.

  • Filtrará las propiedades de la ventana Propiedades para omitir las que solo están disponibles en versiones posteriores.

  • Filtrará las opciones de menú para omitir las que solo están disponibles en versiones posteriores.

  • Compila con la versión adecuada del compilador y con las opciones del compilador adecuadas.

Desarrollar aplicaciones compatibles con varias versiones de .NET Framework

Para desarrollar una aplicación que sea compatible con varias versiones de .NET Framework, le recomendamos que desarrolle la aplicación usando la versión más antigua de .NET Framework y, a continuación, la compile en la versión más moderna de .NET Framework. Por ejemplo, puede desarrollar la aplicación en .NET Framework 3.5 y compilarla en .NET Framework 4.

Resolver las referencias de los ensamblados del sistema y de usuarios

El cuadro de diálogo Agregar referencia deshabilita los ensamblados del sistema que no pertenecen a la versión de .NET Framework de destino. (Los ensamblados del sistema son archivos .dll que forman parte de una versión de .NET Framework). Esto le ayuda a no agregar a los ensamblados referencias que no están en la versión especificada. Si modifica el archivo de proyecto para incluir referencias que pertenecen a una versión de .NET Framework más reciente que la especificada actualmente en el proyecto, la referencia no se resolverá. Además, no puede agregar ni utilizar controles que dependan de esta referencia. Puede resolver esta referencia cambiando el destino de .NET Framework del proyecto por uno que sí incluya esta referencia. Puede hacerlo en la página Propiedades del proyecto. Para obtener más información, vea Administrar propiedades del proyecto con el Diseñador de proyectos.

Habilitar LINQ

Al mover un proyecto a .NET Framework 3.5 o posterior, automáticamente se agrega una referencia a System.Core y una importación de nivel de proyecto para System.Linq (solo en Visual Basic). Si desea utilizar características de LINQ, también debe activar Option Infer (solo en Visual Basic). La referencia y la importación se quitan automáticamente si cambia la versión de .NET Framework de destino a 3.0 o 2.0. Para obtener más información, vea Cómo: Crear un proyecto con LINQ.

Vea también

Conceptos

Varias versiones de .NET Framework de destino para proyectos web ASP.NET

Otros recursos

MSBuild Concepts