Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Windows stöder inte längre .NET Framework 1.1 och 2.0. Därför körs inte program som riktar sig mot äldre .NET Framework-versioner utan att uttryckligen installera .NET Framework 3.5. Vi rekommenderar dock att du uppgraderar appen till .NET Framework 4. I den här artikeln beskrivs de steg som krävs för att köra ett program som är avsett för en gammal version av .NET Framework.
Rikta om 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:
Ändra målinriktning för programmet till att köras 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.
Konfigurationsfilen för en app är en XML-fil som finns i samma katalog och har samma filnamn som appen, men med ett .config tillägg. För en app med namnet MyExecutable.exe är programkonfigurationsfilen till exempel namngiven MyExecutable.exe.config.
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 omkompilera eller rikta om din applikation, måste du avgöra om applikationen påverkas av ändringar som har införts 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 riktar om din applikation eller rekompilerar den bör du granska både brytningsändringarna och de föråldrade typerna och medlemmarna för varje version av .NET Framework som släppts efter .NET Framework 1.1.
Brytande förändringar
När en kompatibilitetsbrytande ändring äger rum, beroende på den specifika ändringen, kan en lösning vara tillgänglig både för omriktade och omkompilerade applikationer. 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 strängsorterings- och jämförelsebeteendet som användes i .NET Framework 1.1 och kan användas antingen med en omriktad eller en omkompilerad applikation.
<configuration>
<runtime>
<CompatSortNLSVersion enabled="4096"/>
</runtime>
</configuration>
I vissa fall kan du dock behöva ändra källkoden och kompilera om programmet.
För att utvärdera effekten av möjliga brytförändringar i din applikation måste du granska följande listor med ändringar:
Dokumentet 'Brytändringar i .NET Framework 2.0' beskriver ändringar i .NET Framework 2.0 SP1 som kan påverka ett program som riktar sig mot .NET Framework 1.1.
Ändringar i .NET Framework 3.5 SP1 beskriver ändringar mellan .NET Framework 3.5 och .NET Framework 3.5 SP1.
.NET Framework 4-migrationsproblem dokumenterar förändringar mellan .NET Framework 3.5 SP1 och .NET Framework 4.
Föråldrade typer och medlemmar
Effekten av föråldrade typer och medlemmar skiljer sig något åt för målversionerade program och rekompilerade program. Användningen av föråldrade typer och medlemmar påverkar inte en omdirigerad applikation såvida inte den föråldrade typen eller medlemmen har tagits bort fysiskt från dess assembly. 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.