Migreren vanuit .NET Framework 1.1

Windows 7 en latere versies van het Windows-besturingssysteem bieden geen ondersteuning voor .NET Framework 1.1. Als gevolg hiervan worden toepassingen die gericht zijn op .NET Framework 1.1 niet uitgevoerd zonder wijzigingen in windows 7- of latere besturingssysteemversies. In dit onderwerp worden de stappen besproken die nodig zijn om een toepassing uit te voeren die is gericht op .NET Framework 1.1 onder Windows 7 en latere versies van het Windows-besturingssysteem. Zie .NET Framework 1.1- en Windows 8-apps uitvoeren in Windows 8 en latere versies voor meer informatie over .NET Framework 1.1.

Retarget of opnieuw compileren

Er zijn twee manieren om een toepassing op te halen die is gecompileerd met .NET Framework 1.1 om uit te voeren op Windows 7 of een hoger Windows-besturingssysteem:

  • Wijzig de toepassing om uit te voeren onder .NET Framework 4 en nieuwere versies. Voor retargeting moet u een <ondersteundRuntime-element> toevoegen aan het configuratiebestand van de toepassing waarmee het kan worden uitgevoerd onder .NET Framework 4 en latere versies. Een dergelijk configuratiebestand heeft de volgende vorm:

    <configuration>
       <startup>
          <supportedRuntime version="v4.0"/>
       </startup>
    </configuration>
    
  • De toepassing opnieuw compileren met een compiler die is gericht op .NET Framework 4 of een latere versie. Als u Visual Studio 2003 oorspronkelijk hebt gebruikt om uw oplossing te ontwikkelen en compileren, kunt u de oplossing openen in Visual Studio 2010 (en mogelijk ook latere versies) en het dialoogvenster Projectcompatibiliteit gebruiken om de oplossing en projectbestanden te converteren van de indelingen die door Visual Studio 2003 worden gebruikt naar de MSBuild-indeling (Microsoft Build Engine).

Ongeacht of u uw toepassing liever opnieuw wilt compileren of opnieuw wilt instellen, moet u bepalen of uw toepassing wordt beïnvloed door wijzigingen die zijn geïntroduceerd in latere versies van .NET Framework. Deze wijzigingen zijn van twee soorten:

  • Belangrijke wijzigingen die zijn opgetreden tussen .NET Framework 1.1 en latere versies van .NET Framework.

  • Typen en typen leden die zijn gemarkeerd als afgeschaft of verouderd tussen .NET Framework 1.1 en latere versies van .NET Framework.

Ongeacht of u uw toepassing opnieuw wilt instellen of opnieuw compileert, moet u zowel de belangrijke wijzigingen als de verouderde typen en leden controleren voor elke versie van het .NET Framework die is uitgebracht na .NET Framework 1.1.

Wijzigingen die fouten veroorzaken

Wanneer er een wijziging die fouten veroorzaakt, kan er, afhankelijk van de specifieke wijziging, een tijdelijke oplossing beschikbaar zijn voor opnieuw gerichte en opnieuw gecompileerde toepassingen. In sommige gevallen kunt u een onderliggend element toevoegen aan het runtime-element> van het <configuratiebestand van uw toepassing om het vorige gedrag te herstellen. Met het volgende configuratiebestand wordt bijvoorbeeld het sorteer- en vergelijkingsgedrag van tekenreeksen hersteld dat wordt gebruikt in .NET Framework 1.1 en kan worden gebruikt met een retargeted of een opnieuw gecompileerde toepassing.

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

In sommige gevallen moet u de broncode echter wijzigen en uw toepassing opnieuw compileren.

Als u de impact van mogelijke belangrijke wijzigingen in uw toepassing wilt beoordelen, moet u de volgende lijsten met wijzigingen bekijken:

Verouderde typen en leden

De impact van afgeschafte typen en leden is enigszins anders voor opnieuw getrainde toepassingen en opnieuw gecompileerde toepassingen. Het gebruik van verouderde typen en leden heeft geen invloed op een nieuwe toepassing, tenzij het verouderde type of lid fysiek uit de assembly is verwijderd. Het opnieuw compileren van een toepassing die gebruikmaakt van verouderde typen of leden produceert meestal een compilerwaarschuwing in plaats van een compilerfout. In sommige gevallen produceert het echter een compilerfout en code die gebruikmaakt van het verouderde type of lid, wordt niet gecompileerd. In dit geval moet u de broncode die het verouderde type of lid aanroept, opnieuw schrijven voordat u de toepassing opnieuw compileert. Zie Wat is verouderd in de klassebibliotheek voor meer informatie over verouderde typen en leden.

Zie Wat is verouderd in de klassebibliotheek om de impact te beoordelen van typen en leden die zijn afgeschaft sinds de release van .NET Framework 2.0 SP1. Bekijk de lijsten met verouderde typen en leden voor .NET Framework 2.0 SP1, .NET Framework 3.5 en .NET Framework 4.