Cómo: Trabajar con un proyecto web de ASP.NET AJAX 1.0 en Visual Studio 2008

Actualización: noviembre 2007

La compatibilidad para varios destinos de Visual Studio 2008 permite trabajar con ASP.NET AJAX 1.0 en sitios web y proyectos de aplicación web nuevos y existentes. Puede ejecutar los sitios existentes sin actualizarlos a la versión más reciente de ASP.NET y de .NET Framework. Al mismo tiempo, puede desarrollar y mantener un sitio web de ASP.NET AJAX 1.0 en Visual Studio 2008 y aprovechar las ventajas de las nuevas características de Visual Studio 2008, como JScript IntelliSense.

Ejecutar un sitio web utilizando una versión anterior de ASP.NET y de .NET Framework es útil cuando no resulta práctico ejecutar el sitio utilizando el tiempo de ejecución más reciente. Los siguientes son ejemplos de ocasiones en las que esto resulta útil:

  • El sitio host que hospeda el sitio web no se ha actualizado a la versión más reciente del tiempo de ejecución.

  • El sitio web tiene dependencias en controles o componentes que no son compatibles con el tiempo de ejecución actual.

Crear un nuevo sitio web de AJAX 1.0 en Visual Studio 2008

Los procedimientos siguientes muestran cómo crear un nuevo sitio web o proyecto de aplicación web de ASP.NET AJAX 1.0 utilizando Visual Studio 2008. El procedimiento difiere ligeramente entre la versión completa de Visual Studio 2008 y Visual Web Developer Express.

Para crear un nuevo sitio web de AJAX 1.0

  1. Descargue e instale ASP.NET AJAX 1.0. Puede descargar el programa de instalación en el sitio web de ASP.NET AJAX.

  2. Para crear un nuevo sitio web, realice lo siguiente:

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

    2. En el cuadro de diálogo Nuevo sitio Web, en Plantillas instaladas de Visual Studio, seleccione Sitio Web ASP.NET.

  3. Para crear un nuevo proyecto de aplicación web, haga lo siguiente:

    1. En el menú Archivo, haga clic en Nuevo proyecto.

    2. En el cuadro de diálogo Nuevo proyecto, en Plantillas instaladas de Visual Studio, seleccione Aplicación Web ASP.NET.

  4. Si está utilizando la versión completa de Visual Studio 2008 (no Visual Web Developer Express) en la versión de .NET Framework de destino (en la esquina superior derecha), seleccione .NET Framework 2.0.

  5. Haga clic en Aceptar.

    Se crea el nuevo sitio o proyecto web.

  6. Si está utilizando Visual Web Developer Express, cambie la versión de .NET Framework de destino a 2.0 de la siguiente manera:

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

    2. En la lista de la izquierda, haga clic en Generar.

    3. En la lista Versión de .NET Framework de destino, seleccione .NET Framework 2.0.

  7. En la raíz de la carpeta de sitio web, cree un archivo Web.config de ASP.NET AJAX 1.0.

    Para obtener una lista del contenido de un archivo Web.config de ASP.NET AJAX 1.0 , vea Contenido del archivo Web.config de ASP.NET AJAX 1.0 más adelante en este tema.

Abrir un sitio web de ASP.NET AJAX 1.0 existente en Visual Studio 2008

Puede trabajar con un sitio web o aplicación web existente en Visual Studio 2008, sin actualizar a la última versión del tiempo de ejecución.

Para abrir un sitio web o proyecto de aplicación web de AJAX 1.0 existente

  1. Realice una copia de seguridad del sitio web o proyecto de aplicación web.

    Si el sitio web o proyecto se actualiza involuntariamente, la actualización afecta los archivos del sitio y no se puede deshacer.

  2. Abra el sitio web o proyecto de aplicación web en Visual Studio 2008.

  3. Cuando Visual Studio 2008 le solicite que actualice el proyecto, haga clic en No

    El proyecto continúa teniendo como destino .NET Framework 2.0.

Actualizar el ensamblado ASP.NET AJAX Control Toolkit

Si su aplicación incluye controles o extensores de ASP.NET AJAX Control Toolkit, debe actualizar a una nueva versión de Control Toolkit para que se ejecuten con Visual Studio 2008. Puede descargar la versión actual de ASP.NET AJAX 1.0 Control Toolkit en el sitio web de Codeplex. Asegúrese de que obtiene la versión 1.0 (versión original) de la biblioteca.

Nota importante:

Control Toolkit es una biblioteca admitida por la comunidad para la que Microsoft no proporciona soporte.

Después de instalarlo, puede agregar los controles de Control Toolkit al Cuadro de herramientas.

Para agregar los controles de ASP.NET AJAX Control Toolkit al Cuadro de herramientas

  1. En el sitio o proyecto web de ASP.NET AJAX 1.0, abra una página web ASP.NET (Web Forms).

  2. Haga clic con el botón secundario del mouse en el Cuadro de herramientas y, a continuación, haga clic en Agregar ficha.

  3. Asigne un nombre a la ficha, por ejemplo, "ASP.NET AJAX Toolkit 1.0".

  4. Haga clic con el botón secundario del mouse en la nueva ficha y, a continuación, haga clic en Elegir elementos....

    Nota:

    Podría haber una demora cuando este cuadro de diálogo se abre por primera vez.

  5. En el cuadro de diálogo Elegir elementos del cuadro de herramientas, haga clic en Examinar… .

  6. Vaya a la carpeta que contiene el ensamblado AJAX Control Toolkit, seleccione AjaxControlToolkit.dll y, a continuación, haga clic en Abrir.

    Los controles de Control Toolkit aparecen seleccionados en el cuadro de diálogo Elegir elementos del cuadro de herramientas.

  7. Haga clic en Aceptar.

    Los controles se han agregado al Cuadro de herramientas.

Ahora puede trabajar con su aplicación web de AJAX 1.0 en Visual Studio 2008. La aplicación se generará y ejecutará utilizando .NET Framework 2.0.

La próxima vez que abra el sitio web en Visual Studio, no se le volverá a pedir que lo actualice. Sin embargo, puede cambiar la versión de destino de .NET Framework a .NET Framework versión 3.5 en cualquier momento. Para obtener más información, vea Cómo: Actualizar un proyecto web de ASP.NET AJAX 1.0 a .NET Framework 3.5.

Utilizar las características de Visual Studio 2008 en aplicaciones de AJAX 1.0

Puede utilizar las nuevas características de Visual Studio 2008 para desarrollar su aplicación de AJAX 1.0, con las siguientes excepciones:

  • Las plantillas de elementos AJAX como Formulario web AJAX y Página maestra AJAX no están disponibles en el cuadro de diálogo Agregar nuevo elemento. Para crear páginas web ASP.NET o páginas maestras que admitan AJAX, agregue una página normal al sitio web. Después, en el Cuadro de herramientas, agregue un control ScriptManager a la página.

  • JScript IntelliSense no está disponible cuando se trabaja con el servicio de perfil de ASP.NET.

  • Los controles extensores de AJAX 1.0 Control Toolkit y otras bibliotecas de controles ASP.NET AJAX 1.0 bibliotecas de otros fabricantes no admitirán las mejoras en tiempo de diseño del extensor Visual Studio 2008. Por ejemplo, no admitirán el comando de etiqueta inteligente Elegir extensor... de la vista Diseño.

Contenido del archivo Web.config de ASP.NET AJAX 1.0

Para crear un archivo de configuración de ASP.NET AJAX 1.0, cree un archivo denominado Web.config y, a continuación, pegue el siguiente XML en él:

<?xml version="1.0"?>
<configuration>
  <configSections>
    <sectionGroup name="system.web.extensions" type="System.Web.Configuration.SystemWebExtensionsSectionGroup, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35">
      <sectionGroup name="scripting" type="System.Web.Configuration.ScriptingSectionGroup, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35">
        <section name="scriptResourceHandler" type="System.Web.Configuration.ScriptingScriptResourceHandlerSection, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="false" allowDefinition="MachineToApplication"/>
        <sectionGroup name="webServices" type="System.Web.Configuration.ScriptingWebServicesSectionGroup, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35">
          <section name="jsonSerialization" type="System.Web.Configuration.ScriptingJsonSerializationSection, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="false" allowDefinition="Everywhere"/>
          <section name="profileService" type="System.Web.Configuration.ScriptingProfileServiceSection, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="false" allowDefinition="MachineToApplication"/>
          <section name="authenticationService" type="System.Web.Configuration.ScriptingAuthenticationServiceSection, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="false" allowDefinition="MachineToApplication"/>
        </sectionGroup>
      </sectionGroup>
    </sectionGroup>
  </configSections>
  <system.web>
    <pages>
      <controls>
        <add tagPrefix="asp" namespace="System.Web.UI" assembly="System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
      </controls>
    </pages>
    <compilation debug="true">
      <assemblies>
        <add assembly="System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
        <add assembly="System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
        <add assembly="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
      </assemblies>
    </compilation>
    <httpHandlers>
      <remove verb="*" path="*.asmx"/>
      <add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
      <add verb="*" path="*_AppService.axd" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
      <add verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" validate="false"/>
    </httpHandlers>
    <httpModules>
      <add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
    </httpModules>
  </system.web>
  <system.web.extensions>
    <scripting>
      <webServices>
        <!-- Uncomment this line to customize maxJsonLength and add a custom converter -->
        <!--
          <jsonSerialization maxJsonLength="500">
            <converters>
              <add name="ConvertMe" type="Acme.SubAcme.ConvertMeTypeConverter"/>
            </converters>
          </jsonSerialization>
        -->
        <!-- Uncomment this line to enable the authentication service. Include requireSSL="true" if appropriate. -->
        <!--
          <authenticationService enabled="true" requireSSL = "true|false"/>
        -->
        <!-- Uncomment these lines to enable the profile service. To allow profile properties to be retrieved
             and modified in ASP.NET AJAX applications, you need to add each property name to the readAccessProperties and
             writeAccessProperties attributes. -->
        <!--
          <profileService enabled="true"
            readAccessProperties="propertyname1,propertyname2"
            writeAccessProperties="propertyname1,propertyname2" />
        -->
      </webServices>
      <!--
        <scriptResourceHandler enableCompression="true" enableCaching="true" />
      -->
    </scripting>
  </system.web.extensions>
  <system.webServer>
    <validation validateIntegratedModeConfiguration="false"/>
    <modules>
      <add name="ScriptModule" preCondition="integratedMode" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
    </modules>
    <handlers>
      <remove name="WebServiceHandlerFactory-Integrated"/>
      <add name="ScriptHandlerFactory" verb="*" path="*.asmx" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
      <add name="ScriptHandlerFactoryAppServices" verb="*" path="*_AppService.axd" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
      <add name="ScriptResource" preCondition="integratedMode" verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
    </handlers>
  </system.webServer>
</configuration>

Vea también

Conceptos

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

Migrar a, y convertir, sitios web ASP.NET

Información general: Convertir proyectos y sitios web de Visual Studio a Visual Studio 2008