Información general sobre destinos de Framework
En Visual Studio, puede especificar la versión de .NET que desea que el proyecto tenga como destino. El destino del marco ayuda a garantizar que la aplicación usa solo la funcionalidad que está disponible en la versión de marco especificada. Para que las aplicaciones de .NET Framework se ejecuten en otro equipo, la versión de marco que tiene como destino la aplicación debe ser compatible con la versión del marco instalada en el equipo.
Una solución de Visual Studio puede contener proyectos que tienen como destino versiones diferentes de .NET. Sin embargo, tenga en cuenta que solo puede compilar con una sola versión de .NET, ya sea utilizando condicionales de referencia para una única compilación o creando distintos binarios para cada entorno objetivo. Para obtener más información sobre los marcos de destino, vea Versiones de .NET Framework de destino.
Sugerencia
También puede orientar aplicaciones a diferentes plataformas. Para obtener más información, vea Multitargeting.
Características de la elección de la plataforma de destino
La orientación del marco incluye las siguientes características:
Al abrir un proyecto destinado a una versión de marco anterior, Visual Studio puede actualizar automáticamente el proyecto o dejar el destino as-is.
Al crear un proyecto de .NET Framework, puede especificar la versión de .NET Framework de destino.
También puede establecer varios marcos de destino en un solo proyecto.
Puede tener como destino una versión diferente de .NET en cada uno de varios proyectos de la misma solución.
Puede cambiar la versión de .NET que tiene como destino un proyecto existente.
Al cambiar la versión de .NET que tiene como destino un proyecto, Visual Studio realiza los cambios necesarios en las referencias y los archivos de configuración.
Al trabajar en un proyecto destinado a una versión de marco anterior, Visual Studio cambia dinámicamente el entorno de desarrollo, como se indica a continuación:
Filtra los elementos del cuadro de diálogo Agregar nuevo elemento del cuadro de diálogo, el cuadro de diálogo Agregar nueva referencia y el cuadro de diálogo Agregar referencia de servicio para omitir las opciones que no están disponibles en la versión de destino.
Filtra los controles personalizados del Cuadro de herramientas para quitar los que no están disponibles en la versión de destino y para mostrar solo los controles más actualizados cuando hay varios disponibles.
Filtra IntelliSense para omitir las características del lenguaje que no están disponibles en la versión de destino.
Filtra las propiedades de la ventana propiedades de para omitir las que no están disponibles en la versión de destino.
Filtra las opciones de menú para omitir las opciones que no están disponibles en la versión de destino.
En el caso de las compilaciones, usa la versión del compilador y las opciones del compilador que son adecuadas para la versión de destino.
Nota
- La elección del marco de destino no garantiza que la aplicación se ejecute correctamente. Debe probar la aplicación para asegurarse de que se ejecuta en la versión de destino.
- No se pueden establecer como destino versiones de plataforma inferiores a .NET Framework 2.0.
Cambiar la plataforma de destino
En un proyecto de Visual Basic, C#o F# existente, cambie la versión de .NET de destino en el cuadro de diálogo propiedades del proyecto. Para obtener información sobre cómo cambiar la versión de destino de los proyectos de C++, consulte Cómo modificar el marco de destino y el conjunto de herramientas de plataforma en su lugar.
En el Explorador de soluciones, abra el menú contextual del botón derecho del proyecto que quiere cambiar y después elija Propiedades.
En la columna izquierda de la ventana Propiedades, elija la pestaña Aplicación.
Nota
Después de crear una aplicación para UWP, no puedes cambiar la versión de destino de Windows o .NET.
En la lista Plataforma de destino, elija la versión que quiera.
En el cuadro de diálogo de verificación que aparece, elija el botón Sí.
Se descarga el proyecto. Cuando se vuelve a cargar, tiene como destino la versión de .NET que acaba de elegir.
En Explorador de soluciones, abra el menú contextual haciendo clic derecho en el proyecto que desea cambiar y elija Propiedades.
En la columna izquierda de la ventana Propiedades, elija la pestaña Aplicación.
Nota
Después de crear una aplicación para UWP, no puedes cambiar la versión de destino de Windows o .NET.
En la lista Plataforma de destino, elija la versión que quiera.
Para un proyecto de .NET Framework, el cuadro de diálogo que usted podría ver es similar a la siguiente captura de pantalla:
Para un proyecto de .NET, el cuadro de diálogo podría ser similar a la siguiente captura de pantalla:
Si aparece un cuadro de diálogo de verificación, elija el botón Sí.
Se descarga el proyecto. Cuando se vuelve a cargar, tiene como destino la versión de .NET que acaba de elegir.
Establecer como destino varias plataformas
Con .NET 5 y versiones posteriores, puede compilar un proyecto para varios marcos en una sola compilación editando manualmente el archivo de proyecto. Abra el archivo de proyecto y reemplace la propiedad TargetFramework
por TargetFrameworks
y especifique la lista de Monikers (TFM) de la plataforma de destino, separadas por punto y coma, como en el código siguiente:
<TargetFrameworks>net7.0;net8.0</TargetFrameworks>
Consulte la lista de marcos de destino (TFM) en Plataformas de destino en proyectos de estilo SDK.
Debe volver a cargar el proyecto después de realizar este cambio. Después, si abre la ventana Propiedades, en la pestaña Aplicación, puede editar la lista de frameworks de destino.
Nota
Si el código contiene referencias a una versión diferente de .NET que la de destino, pueden aparecer mensajes de error al compilar o ejecutar el código. Para resolver estos errores, modifique las referencias. Vea Solucionar problemas de versión de .NET Framework de destino.
Sugerencia
En función del marco de trabajo de destino, se puede representar de las siguientes maneras en el archivo de proyecto:
- Para una aplicación de .NET Core:
<TargetFramework>netcoreapp2.1</TargetFramework>
- Para una aplicación de .NET Standard:
<TargetFramework>netstandard2.0</TargetFramework>
- Para una aplicación de .NET Framework:
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
Selección de una versión de la plataforma de destino
Al crear un proyecto de .NET Framework, puede seleccionar la versión de .NET Framework de destino después de seleccionar una plantilla de proyecto. La lista de marcos disponibles incluye las versiones de marco instaladas que son aplicables al tipo de plantilla seleccionado. En el caso de las plantillas de proyectos que no son de .NET Framework, como las plantillas de .NET Core, la lista desplegable Framework no aparece.
Si decide crear un proyecto de .NET Framework, verá una interfaz similar a la captura de pantalla siguiente:
Si decide crear un proyecto de .NET, verá la interfaz de usuario (UI) similar a las dos capturas de pantalla siguientes.
La primera pantalla que verá es el cuadro de diálogo Configurar el nuevo proyecto.
La segunda pantalla que verá es el cuadro de diálogo Opciones adicionales.
Resolver referencias de ensamblado de usuario y sistema
Para tener como destino una versión de .NET, primero debe instalar las referencias de ensamblado adecuadas. Puede descargar los paquetes de desarrollador de distintas versiones de .NET en la página Descargas de .NET.
Para los proyectos de .NET Framework, el cuadro de diálogo Agregar referencia deshabilita los ensamblados del sistema que no pertenecen a la versión de .NET Framework de destino para que no se puedan agregar accidentalmente a un proyecto. (Los ensamblados del sistema son archivos .dll que se incluyen en una versión de .NET Framework). Las referencias que pertenecen a una versión de marco superior a la versión de destino no se resolverán y no se podrán agregar controles que dependan de dicha referencia. Si desea habilitar dicha referencia, restablezca el destino de .NET Framework del proyecto a uno que incluya la referencia.
Para obtener más información sobre las referencias de ensamblado, consulte Resolver ensamblados en tiempo de diseño.
Habilitación de LINQ
Si elige como destino .NET Framework 3.5 o una versión posterior, se agregan de forma automática una referencia a System.Core y una importación de nivel de proyecto para System.Linq (solo en Visual Basic). Si desea usar características de LINQ, también debe activar Option Infer
(solo en Visual Basic). La referencia e importación se quitan automáticamente si cambia el destino a una versión anterior de .NET Framework. Para obtener más información, consulte Trabajar con LINQ.