Migrer à partir de .NET Framework 1.1

Windows 7 et les versions ultérieures du système d’exploitation Windows ne prennent pas en charge .NET Framework 1.1. Ainsi, les applications qui ciblent .NET Framework 1.1 ne s’exécutent pas sans modification sur Windows 7 ou les versions ultérieures du système d’exploitation. Cette rubrique décrit les étapes nécessaires à l’exécution d’une application qui cible .NET Framework 1.1 sur Windows 7 et les versions ultérieures du système d’exploitation Windows. Pour plus d’informations sur .NET Framework 1.1 et Windows 8, consultez Exécuter des applications .NET Framework 1.1 sur Windows 8 et versions ultérieures.

Recibler ou recompiler

Il existe deux façons d’exécuter une application compilée à l’aide de .NET Framework 1.1 sur Windows 7 ou une version ultérieure du système d’exploitation Windows :

  • Reciblez l’application pour qu’elle s’exécute sur .NET Framework 4 et versions ultérieures. Le reciblage nécessite l’ajout d’un élément <supportedRuntime> au fichier config de l’application, ce qui permet à celle-ci de s’exécuter sur .NET Framework 4 et versions ultérieures. Un tel fichier de configuration prend la forme suivante :

    <configuration>
       <startup>
          <supportedRuntime version="v4.0"/>
       </startup>
    </configuration>
    
  • Recompilez l’application avec un compilateur qui cible .NET Framework 4 ou une version ultérieure. Si vous avez utilisé initialement Visual Studio 2003 pour développer et compiler votre solution, vous pouvez ouvrir cette dernière dans Visual Studio 2010 (et probablement les versions ultérieures également) et utiliser la boîte de dialogue de compatibilité des projets pour convertir les fichiers solution et projet des formats utilisés par Visual Studio 2003 au format Microsoft Build Engine (MSBuild).

Que vous préfériez recompiler ou recibler votre application, vous devez déterminer si elle est affectée par les modifications introduites dans les versions ultérieures du .NET Framework. Ces modifications sont de deux types :

  • Changements cassants qui se sont produits entre .NET Framework 1.1 et les versions ultérieures du .NET Framework.

  • Types et membres de type marqués comme dépréciés ou obsolètes entre .NET Framework 1.1 et les versions ultérieures du .NET Framework.

Si vous reciblez ou recompilez votre application, vous devez examiner à la fois les changements cassants et les types et membres obsolètes pour chaque version du .NET Framework commercialisée après .NET Framework 1.1.

Changements cassants

Lorsqu'une modification avec rupture se produit, selon la modification spécifique, une solution de contournement peut être disponible pour les applications reciblées et recompilées. Dans certains cas, vous pouvez ajouter un élément enfant à l’élément <runtime> du fichier config de votre application pour restaurer le comportement précédent. Par exemple, le fichier de configuration suivant restaure le tri des chaînes et le comportement de comparaison utilisé dans .NET Framework 1.1 et peut être utilisé avec une application reciblée ou recompilée.

<configuration>
   <runtime>
      <CompatSortNLSVersion enabled="4096"/>
   </runtime>
</configuration>

Toutefois, dans certains cas, vous devrez peut-être modifier votre code source et recompiler votre application.

Pour évaluer l'impact de modifications avec rupture possibles sur votre application, vous devez passer en revue les listes suivantes de modifications :

Types et membres obsolètes

L'impact des types et membres déconseillés est quelque peu différent pour les applications de reciblées et les applications recompilées. L'utilisation de types et membres obsolètes n'affectera pas une application reciblée, sauf si le type ou le membre obsolète a été supprimé physiquement de son assembly. Recompiler une application qui utilise des types ou des membres obsolètes entraîne généralement un avertissement du compilateur plutôt qu'une erreur du compilateur. Toutefois, dans certains cas, cela entraîne une erreur du compilateur, et le code qui utilise le type ou le membre obsolète ne se compile pas correctement. Dans ce cas, vous devez réécrire le code source qui appelle le type ou membre obsolète avant de recompiler votre application. Pour plus d'informations sur les types et membres obsolètes, consultez Éléments obsolètes dans la bibliothèque de classes.

Pour évaluer l’impact des types et membres dépréciés depuis la mise en production de .NET Framework 2.0 SP1, consultez Éléments obsolètes dans la bibliothèque de classes. Passez en revue les listes des types et membres obsolètes de .NET Framework 2.0 SP1, .NET Framework 3.5 et .NET Framework 4.