.Especificar una versión de .NET Framework para sitios web

Actualización: noviembre 2007

La característica de destinos múltiples de Visual Studio 2008 permite especificar la versión de .NET Framework para el sitio o servicio web. De esta forma, podrá usar Visual Studio 2008 para modificar proyectos web de Visual Studio 2008 nuevos y existentes sin crear involuntariamente nuevas dependencias de ensamblado en los proyectos. Visual Studio 2008 permite generar un sitio web que se puede implementar en .NET Framework 2.0.NET Framework versión 3.0 o .NET Framework versión 3.5 Service Pack 1. Con esta característica se asegurará de los que proyectos sólo utilizan las funciones disponibles en la versión de .NET Framework que especifique para el proyecto.

Este tema contiene información sobre lo siguiente:

Escenarios

La característica de destinos múltiples de Visual Studio 2008 permite asignar un sitio web a una versión específica de .NET Framework. Por ejemplo, podría crear una aplicación web ASP.NET que utilice las funciones de seguridad admitidas por Windows Communication Foundation (WCF). Si no es necesario que la aplicación sea compatible con Language-Integrated Query (LINQ), puede asignarle el destino .NET Framework versión 3.0.

Volver al principio

Características de destinos múltiples

Las características de destinos múltiples de Visual Studio 2008 son las siguientes:

  • Puede seleccionar la versión de .NET Framework cuando vaya a crear un nuevo sitio web.

  • Visual Studio puede detectar la versión de .NET Framework al abrir un sitio web.

    Cuando Visual Studio detecte que un sitio web utiliza .NET Framework versión 2.0, Visual Studio, podrá asignarle .NET Framework versión 3.5 Service Pack 1 como destino.

  • Visual Studio filtra las características que no se corresponden con la versión de destino actual de .NET Framework. Entre éstas se incluyen las opciones de menú, los objetos Toolbox, los procesos de compilación y las referencias de ensamblado.

  • Puede utilizar las propiedades del proyecto para seleccionar una versión de .NET Framework de destino.

.Bibliotecas de clases de .NET Framework

Visual Studio permite especificar como destino las versiones siguientes de .NET Framework:

  • .NET Framework versión 2.0 La versión de .NET Framework incluida con Microsoft Visual Studio 2005.

  • **.NET Framework versión 3.0 **La versión de .NET Framework incluida con el sistema operativo . Esta versión de .NET Framework incluye compatibilidad para Windows Presentation Foundation (WPF), Windows Communication Foundation (WCF), Windows CardSpace y Windows Workflow Foundation.

  • **.NET Framework versión 3.5 **La versión de .NET Framework que se incluye de forma predeterminada para Visual Studio. Esta versión de .NET Framework incluye compatibilidad para ASP.NET AJAX y Language-Integrated Query (LINQ).

Volver al principio

Información general

Visual Studio 2008 permite asignar como destino varias versiones de .NET Framework desde un entorno de desarrollo único. Visual Studio 2005 y versiones anteriores tenían como destino una versión única de .NET Framework. Los programadores que deseaban crear aplicaciones para versiones diferentes de .NET Framework, tenían que ejecutar versiones paralelas de Visual Studio. Las dependencias en tiempo de ejecución y la compatibilidad con versiones anteriores eran aspectos clave de la característica de destinos múltiples.

En Visual Studio 2008, es posible abrir un sitio web Visual Studio 2005 sin realizar ninguna modificación en el código. Sin embargo, se actualizará el archivo de proyecto del sitio web. De forma predeterminada, los proyectos de Visual Studio 2005 seguirán teniendo como destino .NET Framework 2.0, pero puede cambiar la versión del marco de trabajo de destino de un proyecto existente para aprovechar las nuevas características de una versión más reciente de .NET Framework.

En los nuevos ensamblados se incluyen las funciones más recientes de .NET Framework. Los ensamblados de versiones anteriores de .NET Framework no sufren ningún cambio.

Crear un nuevo sitio web

Cuando cree un nuevo sitio web, puede especificar la versión de .NET Framework de destino del proyecto. Los nuevos proyectos de Visual Studio asumen automáticamente la versión más reciente de .NET Framework como destino.

En el procedimiento siguiente se describe cómo crear un nuevo sitio web cuyo destino sea una versión de .NET Framework especificada.

Para crear un nuevo sitio web y especificar el destino de .NET Framework

  1. En Visual Studio, en el menú Archivo, haga clic en Nuevo sitio Web.

    Se muestra el cuadro de diálogo Nuevo sitio Web.

  2. En la lista de versiones de marco de trabajo, seleccione la versión de .NET Framework que desea asignar al proyecto.

    La lista de plantillas mostrada en el cuadro de diálogo se filtra en función del marco de trabajo seleccionado.

  3. En Plantillas instaladas de Visual Studio, seleccione un tipo de sitio web, como Sitio Web ASP.NET.

  4. Haga clic en Aceptar.

Abrir un sitio web de Visual Studio 2005 existente

Visual Studio 2008 permite abrir proyectos o sitios web que se crearon en versiones anteriores de Visual Studio sin actualizar los proyectos a una versión más reciente de .NET Framework. Puede modificar, compilar, generar, depurar y guardar proyectos de Visual Studio 2005.

Puede abrir un proyecto de Visual Studio 2005 existente sin especificar como destino una versión de .NET Framework posterior. Cuando abra por primera vez la aplicación web en Visual Studio 2008, se le pedirá que asigne el sitio web a .NET Framework versión 3.5 Service Pack 1. Si no desea cambiar el marco de trabajo de destino, haga clic en No.

Nota:

Al abrir un sitio web remoto, Visual Studio 2008 no intenta filtrar las versiones disponibles a partir de las versiones de .NET Framework instaladas en el servidor remoto.

Actualizar o degradar la versión de .NET Framework de destino de un sitio web existente

En el procedimiento siguiente se describe cómo cambiar la versión de .NET Framework de un proyecto existente para asignar una versión más reciente o anterior como destino.

La actualización a una versión más reciente de .NET Framework permite aprovecharse las nuevas características. La degradación de una aplicación web a una versión de .NET Framework diferente permite asignar como destino la versión de .NET Framework instalada en un servidor web diferente.

Si va a degradar un proyecto, debe asegurarse de que el proyecto funciona con la versión anterior de .NET Framework. Esto requiere a menudo realizar cambios manualmente en el proyecto.

Nota:

Además de las diferentes características disponibles para cada versión de .NET Framework, las principales diferencias al cambiar la versión de .NET Framework de una aplicación web se encuentran en el archivo Web.config.

Para actualizar o degradar la versión de .NET Framework de un sitio web

  1. En Visual Studio 2008, abra el sitio web que desea actualizar o degradar.

  2. En el Explorador de soluciones, haga clic con el botón secundario del mouse en el nombre del proyecto y, a continuación, haga clic en Páginas de propiedades.

    Nota:

    Para los proyectos de aplicaciones web, haga clic con el botón secundario del mouse en el Explorador de soluciones y, a continuación, haga clic en Propiedades.

  3. En la página Propiedades del proyecto, haga clic en la ficha Generar.

    Nota:

    Para los proyectos de aplicaciones web que utilizan C#, haga clic en la ficha Aplicación de la página Propiedades del proyecto. Para los proyectos de aplicaciones web que utilizan Visual Basic, haga clic en la ficha Compilador de la página Propiedades del proyecto y haga clic en Configuración de compilador avanzada.

  4. En la lista desplegable de .NET Framework, seleccione un número de versión de destino.

    Nota:

    Para los proyectos de aplicaciones web, el proyecto se descarga y se vuelve a cargar en Visual Studio.

  5. Si ha degradado un proyecto, siga este procedimiento:

    1. Quite manualmente las referencias a los componentes que no forman parte de la versión de .NET Framework de destino.

      Nota:

      Puede que aparezcan errores de referencia en el código debido a que las referencias de ensamblado ya no funcionan con la versión de .NET Framework más antigua. En ese caso, debe reemplazar manualmente todas las referencias de ensamblado que faltan.

    2. Si el proyecto contiene referencias de servicio, quítelas haciendo clic con el botón secundario del mouse en cada una de ellas y haciendo clic en Quitar.

Referencias de ensamblado

Visual Studio ayuda a agregar referencias a proyectos web sin actualizar automáticamente a una versión de .NET Framework diferente.

Cuando se agrega una referencia a un ensamblado, en el cuadro de diálogo Agregar referencia sólo se muestran los ensamblados del sistema que pertenecen a la versión de .NET Framework de destino. Esto impide que se agreguen involuntariamente referencias a ensamblados que no están en el marco de trabajo de destino.

Nota:

Puede modificar manualmente el archivo de proyecto para incluir referencias que pertenezcan a una versión de .NET Framework de destino que sea posterior a la del proyecto actual, si bien se generarán advertencias durante la compilación.

Puede agregar una referencia de ensamblado de usuario al proyecto que, a su vez, haga referencia a ensamblados del sistema que no formen parte del marco de trabajo de destino. En tal caso, Visual Studio muestra una advertencia. Si omite esta advertencia, se mostrará de nuevo durante la compilación.

Volver al principio

Diferencias del proyecto cuando la versión de destino es .NET Framework

En esta sección se describen las diferencias entre proyectos web cuyos destinos son versiones diferentes de .NET Framework. Las diferencias residen en la compilación, la compatibilidad de ensamblados y la compatibilidad de características. Algunas características de Visual Studio no incluyen compatibilidad con destinos múltiples, como IntelliSense e implementación.

Para los nuevos sitios web, la versión de .NET Framework que selecciona determina lo siguiente:

  • Los ensamblados a los que se hace referencia de forma predeterminada.

  • Los espacios de nombres incluidos de forma predeterminada en páginas web y archivos de clases ASP.NET.

  • La versión del compilador utilizada por ASP.NET en tiempo de ejecución y en tiempo de diseño para la compilación dinámica.

  • Las opciones que se pueden seleccionar en Visual Studio, como los objetos, nuevos elementos, referencias de ensamblado, referencias web y referencias de servicio.

Al abrir un sitio web existente, Visual Studio intenta detectar la versión de .NET Framework y establecer la versión de .NET Framework de destino de los proyectos. Visual Studio determina la versión de .NET Framework utilizando los criterios siguientes:

  • Si existen referencias a ensamblados de .NET Framework 3.0, se asigna como mínimo la versión de .NET Framework 3.0 al proyecto web. (Se podría asignar una versión posterior en función de otras condiciones).

  • Si una sección de compilers del archivo Web.config está asignada a una versión de compilador de "v3.5" para C# o para Visual Basic, el sitio web se asigna a .NET Framework 3.5.

  • Si hay referencias a ensamblados de .NET Framework 3.5, el sitio web se asigna a .NET Framework 3.5.

  • Si el sitio web no cumple las condiciones anteriores, el sitio web se asigna a .NET Framework versión 2.0.

    Nota:

    Si el proyecto se ha abierto previamente o se ha creado con Visual Studio, el número de versión de destino ya estará almacenado en el proyecto. En ese caso, Visual Studio utiliza el número de versión almacenado. No intenta detectar una discrepancia entre el número de versión almacenado y la versión detectada a partir de las referencias y los compiladores.

Seleccionar una plantilla de proyecto

Visual Studio sólo muestra las plantillas de proyecto que se aplican a la versión de .NET Framework de destino actual. Al crear un nuevo sitio web, Visual Studio asigna automáticamente el número de versión superior de .NET Framework para permitir el acceso a las últimas características. También se puede seleccionar una versión de destino al crear el proyecto.

El contenido predeterminado del archivo Web.config para un nuevo sitio web se basa en la versión seleccionada de .NET Framework. Los ensamblados a los que se hace referencia de forma predeterminada se especifican en la sección assemblies y la versión de compilador se especifica en la sección compilers.

Agregar objetos desde el cuadro de herramientas

Visual Studio deshabilita los elementos del Cuadro de herramientas que no se corresponden con la versión de .NET Framework de destino actual. El comportamiento de destinos múltiples del Cuadro de herramientas presupone que los componentes de una versión específica de .NET Framework se pueden utilizar en proyectos de esa versión o versiones posteriores. Por ejemplo, los controles de .NET Framework 2.0 se pueden utilizar en .NET Framework 2.0, .NET Framework versión 3.0 o .NET Framework versión 3.5 Service Pack 1.

Agregar nuevos elementos

Visual Studio filtra los elementos que se muestran en el cuadro de diálogo Agregar nuevo elemento en función de la versión de .NET Framework de destino actual.

Nota:

Si agrega un elemento existente a un proyecto, Visual Studio no comprueba que las referencias e importaciones de ese elemento coinciden con la versión de .NET Framework de destino actual. No se genera ninguna advertencia. Sin embargo, si esas referencias no se pueden resolver en el proyecto, aparecerá un error cuando genere y ejecute el proyecto.

Agregar referencias de ensamblado

Al abrir el cuadro de diálogo Agregar referencia, Visual Studio comprueba la versión de .NET Framework de destino actual y sólo muestra los ensamblados disponibles para esa versión. Los ensamblados correspondientes a un marco de trabajo de destino anterior se muestran, pero están deshabilitados.

El título del cuadro de diálogo Agregar referencia incluye la versión de .NET Framework de destino actual. Como el cuadro de diálogo muestra la versión de marco de trabajo de cada ensamblado, es posible determinar qué versión de .NET Framework es necesaria para agregar la referencia. El cuadro de diálogo Agregar referencia muestra también información sobre el ensamblado como información sobre herramientas al colocar el puntero del mouse sobre un ensamblado no disponible.

Nota:

Si agrega manualmente una referencia de sistema (sin utilizar el cuadro de diálogo Agregar referencia), Visual Studio no comprueba la referencia. Es posible que aparezcan advertencias en tiempo de diseño o compilación en las que se indican que la referencia de ensamblado no forma parte de la versión de .NET Framework de destino actual.

Agregar referencias de servicio

El cuadro de diálogo Agregar referencia de servicio sólo está disponible en sitios web cuyo destino es .NET Framework 3.5 y en proyectos de aplicaciones web cuyo destino es .NET Framework 3.0 o .NET Framework 3.5. Si desea agregar una referencia de servicio a un sitio web cuyo destino es .NET Framework 3.0, puede agregarla a un proyecto de bibliotecas de clase. A continuación, puede hacer referencia al proyecto de bibliotecas de clase desde el proyecto de sitio web.

Nota:

No se pueden agregar bibliotecas de clase a un proyecto en Visual Web Developer.

Utilizar IntelliSense

Los servicios de lenguaje de Visual Studio 2008 no asignan versiones de .NET Framework específicas como destino. Por tanto, el editor proporciona siempre IntelliSense para las últimas versiones de C# y Visual Basic.

Los proyectos web muestran IntelliSense para todas las versiones de .NET Framework, cualquiera que sea la versión de marco de trabajo de destino del proyecto. Cuando se asigna .NET Framework versión 2.0 o .NET Framework 3.0, el código que haga referencia a características de .NET Framework versión 3.5 producirá errores en el compilador.

JScript IntelliSense es independiente de la versión de .NET Framework que se haya asignado al proyecto.

Implementar un proyecto

Las herramientas Publicar y Copiar Web de Visual Studio 2008 no asignan versiones específicas de .NET Framework. Visual Studio no comprueba la versión de .NET Framework que se ejecuta en un servidor remoto. Estas herramientas no pueden avisarle en caso de que publique un proyecto en un servidor de destino que contiene una versión de .NET Framework anterior a la que está asignada al proyecto. En tal caso, no se ejecutará el proyecto asignado a una versión de .NET Framework posterior.

Volver al principio

Vea también

Conceptos

Lo nuevo en ASP.NET y desarrollo web

Referencia

Volver al principio

Otros recursos

Especificar una versión concreta de .NET Framework