Comment : utiliser un projet Web ASP.NET AJAX 1.0 dans Visual Studio 2008

Mise à jour : novembre 2007

La prise en charge du multi-ciblage dans Visual Studio 2008 vous permet d'utiliser ASP.NET AJAX 1.0 dans les sites Web et les projets d'application Web nouveaux et existants. Vous pouvez exécuter des sites existants sans effectuer leur mise à niveau vers la version la plus récente d'ASP.NET et du .NET Framework. De plus, vous pouvez développer et maintenir un site Web ASP.NET AJAX 1.0 dans Visual Studio 2008 et profiter de nouvelles fonctionnalités Visual Studio 2008, telles que JScript IntelliSense.

L'exécution d'un site Web en utilisant une version antérieure d'ASP.NET et du .NET Framework s'avère utile lorsqu'il n'est pas pratique d'exécuter le site à l'aide de la dernière exécution. Les exemples suivants indiquent les cas où cette opération s'avère utile :

  • Le site qui héberge votre site Web n'a pas effectué de mise à niveau vers la dernière version de l'exécution.

  • Votre site Web possède des dépendances vis-à-vis des contrôles ou des composants qui ne sont pas compatibles avec l'exécution actuelle.

Création d'un site Web AJAX 1.0 dans Visual Studio 2008

Les procédures suivantes indiquent comment créer un nouveau site Web ou projet d'application Web ASP.NET AJAX 1.0 à l'aide de Visual Studio 2008. La procédure diffère légèrement entre la version complète de Visual Studio 2008 et Visual Web Developer Express.

Pour créer un site Web AJAX 1.0

  1. Téléchargez et installez ASP.NET AJAX 1.0. Vous pouvez télécharger le programme d'installation sur le site Web ASP.NET AJAX (en anglais).

  2. Pour créer un site Web, procédez comme suit :

    1. Dans le menu Fichier, cliquez sur Nouveau site Web.

    2. Dans la boîte de dialogue Nouveau site Web, sous Modèles Visual Studio installés, sélectionnez Site Web ASP.NET.

  3. Pour créer un projet d'application Web, procédez comme suit :

    1. Dans le menu Fichier, cliquez sur Nouveau projet.

    2. Dans la boîte de dialogue Nouveau projet, sous Modèles Visual Studio installés, sélectionnez Application Web ASP.NET.

  4. Si vous utilisez la version complète de Visual Studio 2008 (et non Visual Web Developer Express) dans la liste d'infrastructures cibles (dans le coin supérieur droit), sélectionnez .NET Framework 2.0.

  5. Cliquez sur OK.

    Le nouveau site Web ou le projet est créé.

  6. Si vous utilisez Visual Web Developer Express, remplacez la version cible de .Net Framework par la version 2.0 en procédant comme suit :

    1. Dans l'Explorateur de solutions, cliquez avec le bouton droit sur le nom du site, puis cliquez sur Pages de propriétés.

    2. Dans la liste gauche, cliquez sur Générer.

    3. Dans la liste Framework cible, sélectionnez .NET Framework 2.0.

  7. Dans la racine du dossier de site Web, créez un fichier Web.config ASP.NET AJAX 1.0.

    Pour connaître le contenu d'un fichier Web.config ASP.NET AJAX 1.0, consultez Contenu du fichier Web.config d'ASP.NET AJAX 1.0 plus loin dans cette rubrique.

Ouverture d'un site Web ASP.NET AJAX 1.0 existant dans Visual Studio 2008

Vous pouvez travailler avec une application Web ou un site Web existant dans Visual Studio 2008, sans effectuer de mise à niveau vers la version la plus récente de l'exécution.

Pour ouvrir un site Web ou projet d'application Web AJAX 1.0 existant

  1. Effectuez une copie de sauvegarde du site Web ou du projet d'application Web.

    Si le site Web ou le projet est mis à niveau involontairement, la mise à niveau affecte les fichiers du site et ne peut pas être annulée.

  2. Ouvrez le site Web ou le projet d'application Web dans Visual Studio 2008.

  3. Lorsque Visual Studio 2008 vous invite à mettre à niveau le projet, cliquez sur Non

    Le projet continue à cibler .NET Framework 2.0.

Mise à jour de l'assembly ASP.NET AJAX Control Toolkit

Si votre application inclut des contrôles ou des extendeurs d'ASP.NET AJAX Control Toolkit, vous devez la mettre à niveau vers une nouvelle version du Control Toolkit pour qu'elle s'exécute avec Visual Studio 2008. Vous pouvez télécharger la version actuelle d'ASP.NET AJAX 1.0 Control Toolkit à partir du site Web de Codeplex (en anglais). Vérifiez que vous avez téléchargé la version 1.0 (la version d'origine) de la bibliothèque.

Remarque importante :

Control Toolkit est une bibliothèque prise en charge par la communauté et non par Microsoft.

Après avoir installé le Control Toolkit, vous pouvez ajouter ses contrôles à la Boîte à outils.

Pour ajouter les contrôles d'ASP.NET AJAX Control Toolkit dans la Boîte à outils

  1. Dans le site Web ou le projet ASP.NET AJAX 1.0, ouvrez une page Web ASP.NET (Web Form).

  2. Cliquez avec le bouton droit sur la Boîte à outils puis sur Ajouter un onglet.

  3. Attribuez un nom au nouvel onglet, tel que "ASP.NET AJAX Toolkit 1.0".

  4. Cliquez avec le bouton droit sur le nouvel onglet puis sur Choisir les éléments….

    Remarque :

    Cette boîte de dialogue peut mettre quelque temps à s'afficher lors de sa première ouverture.

  5. Dans la boîte de dialogue Choisir des éléments de boîte à outils, cliquez sur Parcourir….

  6. Accédez au dossier qui contient l'assembly AJAX Control Toolkit, sélectionnez AjaxControlToolkit.dll, puis cliquez sur Ouvrir.

    Les contrôles de Control Toolkit sont sélectionnés dans la boîte de dialogue Choisir des éléments de boîte à outils.

  7. Cliquez sur OK.

    Les contrôles sont ajoutés à la Boîte à outils.

Vous pouvez utiliser à présent votre application Web AJAX 1.0 dans Visual Studio 2008. L'application sera générée et s'exécutera à l'aide du .NET Framework 2.0.

À la prochaine ouverture du site Web dans Visual Studio, vous ne serez pas invité à nouveau à le mettre à niveau. Toutefois, vous pouvez remplacer n'importe quand la version cible du .NET Framework par .NET Framework version 3.5. Pour plus d'informations, consultez Comment : mettre à niveau un projet Web ASP.NET AJAX 1.0 vers .NET Framework 3.5.

Utilisation des fonctionnalités de Visual Studio 2008 dans les applications AJAX 1.0

Vous pouvez utiliser les nouvelles fonctionnalités de Visual Studio 2008 pour développer votre application AJAX 1.0, en tenant compte des exceptions suivantes :

  • Les modèles d'élément AJAX tels que Formulaire Web AJAX et Page maître AJAX ne sont pas disponibles dans la boîte de dialogue Ajouter un nouvel élément. Pour créer des pages Web ASP.NET ou des pages maîtres prenant en charge AJAX, ajoutez une page ordinaire au site Web. Dans la Boîte à outils, ajoutez ensuite un contrôle ScriptManager à la page.

  • JScript IntelliSense n'est pas disponible lorsque vous travaillez avec le service de profil ASP.NET.

  • Les contrôles d'extendeur d'AJAX 1.0 Control Toolkit ou d'autres bibliothèques de contrôle tiers d'ASP.NET AJAX 1.0 ne prendront pas en charge les améliorations d'extendeur Visual Studio 2008 au moment du design. Par exemple, ils ne prendront pas en charge la commande de balise active Choisir un extendeur… en mode Design.

Contenu du fichier Web.config d'ASP.NET AJAX 1.0

Pour créer un fichier de configuration d'ASP.NET AJAX 1.0, créez un fichier nommé Web.config puis collez-y le code XML suivant :

<?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>

Voir aussi

Concepts

Ciblage du .NET Framework pour des sites Web

Migration et conversion de sites Web ASP.NET

Vue d'ensemble : conversion de sites Web et de projets Visual Studio en Visual Studio 2008