Uppgradera C++-projekt från tidigare versioner av Visual Studio

Om du vill uppgradera ett projekt som skapats i en tidigare version av Visual Studio öppnar du projektet i den senaste versionen av Visual Studio. Om du fortfarande använder en äldre version av Visual Studio sida vid sida kan du välja att inte uppgradera dina projekt förrän du är redo att behålla kompatibiliteten med båda versionerna.

I Visual Studio 2026 utökas den här upplevelsen med en installationsassistent. Installationsassistenten erbjuder att installera verktyg som saknas med installationsprogrammet för Visual Studio, samt att antingen fortsätta använda en äldre version eller rikta om dina projekt till den senaste versionen. Du kan öppna installationsassistenten i Solution Explorer genom att högerklicka på din lösning och välja Ändra målplattform för lösning.

När installationsassistenten är öppen väljer du en åtgärd för varje mål eller väljer Ommåla alla för att ange alla projekt samtidigt. Välj sedan Använd för att slutföra uppgraderingen på plats. När dina projekt har ompekats kan de inte konverteras tillbaka till den äldre versionen. Det är bra att göra en säkerhetskopia av befintliga projekt- och lösningsfiler innan du uppgraderar dem.

Anmärkning

Visual Studio 2022 och senare har inaktuellt stöd för uppgradering av projekttyper som har .dsw eller .dsp tillägg. Du kan använda en tidigare version av Visual Studio, till exempel Visual Studio 2019, för att uppgradera dessa projekt och sedan uppgradera dem igen i Visual Studio 2022 eller senare för att använda de senaste verktygen och funktionerna i Visual Studio.

Uppgradera rapporter

När du uppgraderar ett projekt får du en uppgraderingsrapport. Rapporten sparas också i projektmappen som UpgradeLog.htm. Uppgraderingsrapporten visar en sammanfattning av vilka problem som hittades under konverteringen. Den innehåller en lista över viss information om ändringar som har gjorts, bland annat:

  • Projektegenskaper.

  • Inkludera filer.

  • Kod som inte längre kompileras rent på grund av förbättringar av kompilatorns överensstämmelse eller ändringar i standarden.

  • Kod som förlitar sig på Visual Studio- eller Windows-funktioner som inte längre är tillgängliga. Eller huvudfiler som antingen inte ingår i en standardinstallation av Visual Studio eller som har tagits bort från produkten.

  • Kod som inte längre kompileras på grund av ändringar i API:er som omdöpta API:er, ändrade funktionssignaturer eller inaktuella funktioner.

  • Kod som inte längre kompileras på grund av ändringar i diagnostiken, till exempel att en varning blir ett fel

  • Linker-fel på grund av bibliotek som har ändrats, särskilt när /NODEFAULTLIB används.

  • Körningsfel eller oväntade resultat på grund av beteendeändringar.

  • Fel som introducerades i verktygen. Om du hittar ett problem rapporterar du det till Microsoft C++-teamet via dina vanliga supportkanaler eller med hjälp av sidan Visual Studio C++ Developer Community .

Vissa uppgraderade projekt och lösningar kan skapas utan ändringar. De flesta projekt kräver dock troligen ändringar i både projektinställningarna och källkoden. Det finns inget enda korrekt sätt att åtgärda dessa problem, men vi rekommenderar att du använder en stegvis metod. Innan du börjar kan du läsa Översikt över potentiella uppgraderingsproblem för mer information om många typer av vanliga fel.

  1. Ange plattformsverktygen, C++ Language Standard och Windows SDK-versionen (om tillämpligt) till de önskade versionerna. (Projekt>Egenskaper>Konfigurationsegenskaper>Allmänt)

  2. Om du har många fel kan du tillfälligt inaktivera vissa alternativ medan du åtgärdar dem. Om du vill inaktivera alternativet /permissive-, använd Projekt>Konfigurationsegenskaper>Språk. Om du vill inaktivera kodanalysalternativet använder du Projektegenskaper>Konfigurationsegenskaper>Kodanalys.

  3. Kontrollera att alla beroenden finns och att de inkluderade sökvägarna eller biblioteksplatserna är korrekta. (Projekt>Egenskaper>Konfigurationsegenskaper>VC++ kataloger)

  4. Identifiera och åtgärda fel som orsakas av referenser till API:er som inte längre finns.

  5. Åtgärda eventuella återstående fel som förhindrar kompilering. Se Översikt över potentiella uppgraderingsproblem för korrigeringar för vanliga fel.

  6. Aktivera /permissive- igen och åtgärda eventuella nya fel som orsakas av kod som inte överensstämmer med den kod som tidigare kompilerats i MSVC.

  7. Aktivera kodanalys för att identifiera potentiella problem eller inaktuella kodningsmönster som inte längre anses vara acceptabla. Om kodanalys flaggar många fel kan du inaktivera några av varningarna för att fokusera på de viktigaste först. IDE kan hjälpa till med snabbkorrigeringar för vissa typer av problem.

  8. Överväg andra möjligheter att modernisera koden. Ersätt till exempel anpassade datastrukturer och algoritmer med sådana från C++-standardbiblioteket eller boostbiblioteket med öppen källkod. Genom att använda standardfunktioner gör du det enklare för andra att underhålla koden. Du kan vara säker på att den här koden har testats väl och granskats av många experter i standardkommittén och den bredare C++-communityn.

För svåråtgärdade fel kan du söka efter lösningar eller publicera en fråga på Microsoft Learn Q&A. Om du har problem med C++-kompilatorn och verktygen kan du prova webbplatsen för C++ Developer Community .

I det här avsnittet

Översikt över potentiella uppgraderingsproblem
Uppgradera koden till Universal CRT
Uppdatera WINVER och _WIN32_WINNT
Åtgärda dina beroenden av bibliotekets interna delar
Problemställningar med flyttalsmigrering
C++-funktioner inaktuella i Visual Studio
VCBuild jämfört med MSBuild
Portera tredjepartsbibliotek

Se även

Nyheter för Microsoft C++ i Visual Studio
Visual C++ ändringshistorik 2003 – 2015
Icke-standardbeteende
Portdataapplikationer