Dela via


Migrera från .NET Framework 1.1

Windows 7- och senare versioner av Windows-operativsystemet stöder inte .NET Framework 1.1. Därför körs inte program som riktar sig mot .NET Framework 1.1 utan ändringar i Windows 7- eller senare operativsystemversioner. I det här avsnittet beskrivs de steg som krävs för att köra ett program som riktar sig mot .NET Framework 1.1 under Windows 7 och senare versioner av Windows-operativsystemet. Mer information om .NET Framework 1.1 och Windows 8 finns i Köra .NET Framework 1.1-appar på Windows 8 och senare versioner.

Omkompilera eller omkompilera

Det finns två sätt att hämta ett program som kompilerats med .NET Framework 1.1 för att köras på Windows 7 eller ett senare Windows-operativsystem:

  • Ommåla programmet så att det körs under .NET Framework 4 och senare versioner. Retargeting kräver att du lägger till ettRuntime-element <> som stöds i programmets konfigurationsfil som gör att det kan köras under .NET Framework 4 och senare versioner. En sådan konfigurationsfil har följande formulär:

    <configuration>
       <startup>
          <supportedRuntime version="v4.0"/>
       </startup>
    </configuration>
    
  • Kompilera om programmet med en kompilator som riktar sig till .NET Framework 4 eller en senare version. Om du ursprungligen använde Visual Studio 2003 för att utveckla och kompilera din lösning kan du öppna lösningen i Visual Studio 2010 (och eventuellt senare versioner också) och använda dialogrutan Projektkompatibilitet för att konvertera lösningen och projektfilerna från de format som används av Visual Studio 2003 till Microsoft Build Engine-formatet (MSBuild).

Oavsett om du föredrar att kompilera om eller ommåla ditt program måste du avgöra om programmet påverkas av ändringar som introduceras i senare versioner av .NET Framework. Dessa ändringar är av två typer:

  • Icke-bakåtkompatibla ändringar som inträffade mellan .NET Framework 1.1 och senare versioner av .NET Framework.

  • Typer och typmedlemmar som har markerats som inaktuella eller föråldrade mellan .NET Framework 1.1 och senare versioner av .NET Framework.

Oavsett om du gör om ditt program eller omkompilera det bör du granska både de icke-bakåtkompatibla ändringarna och de föråldrade typerna och medlemmarna för varje version av .NET Framework som släpptes efter .NET Framework 1.1.

Icke-bakåtkompatibla ändringar

När en icke-bakåtkompatibel ändring inträffar, beroende på den specifika ändringen, kan en lösning vara tillgänglig både för ommålade och omkompilerade program. I vissa fall kan du lägga till ett underordnat element i <körningselementet> i programmets konfigurationsfil för att återställa det tidigare beteendet. Följande konfigurationsfil återställer till exempel strängsorterings- och jämförelsebeteendet som används i .NET Framework 1.1 och kan användas antingen med en ommålad eller ett omkompilerat program.

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

I vissa fall kan du dock behöva ändra källkoden och kompilera om programmet.

Om du vill utvärdera effekten av eventuella icke-bakåtkompatibla ändringar i ditt program måste du granska följande listor med ändringar:

Föråldrade typer och medlemmar

Effekten av inaktuella typer och medlemmar skiljer sig något åt för ommålade program och omkompilerade program. Användningen av föråldrade typer och medlemmar påverkar inte ett ommålat program om inte den föråldrade typen eller medlemmen har tagits bort fysiskt från sammansättningen. Omkompilering av ett program som använder föråldrade typer eller medlemmar skapar vanligtvis en kompilatorvarning i stället för ett kompilatorfel. I vissa fall genererar den dock ett kompilatorfel och kod som använder den föråldrade typen eller medlemmen kompileras inte korrekt. I det här fallet måste du skriva om källkoden som anropar den föråldrade typen eller medlemmen innan du kompilera om programmet. Mer information om föråldrade typer och medlemmar finns i Vad är föråldrat i klassbiblioteket.

Information om hur du utvärderar effekten av typer och medlemmar som har varit inaktuella sedan .NET Framework 2.0 SP1 släpptes finns i Vad är föråldrat i klassbiblioteket. Granska listorna över föråldrade typer och medlemmar för .NET Framework 2.0 SP1, .NET Framework 3.5 och .NET Framework 4.