VS-Tipps & Tricks: Downgrade für VC-200x Projekte

Kann man ein auf VC-2005 erstelltes Projekt einfach auch unter VC-2003 builden?
Oder ein 2008er Projekt auf VS-2005 laden?

Der Mühsame weg, ist es, das Projekt neu aufzubauen. D.h. ein leeres Projekt anzulegen und die entsprechenden Dateien aus dem alten Projekt in das neue Projekt in der niedrigeren Version aufzunehmen.
Es geht etwas leichter mit einem kleinen Hack ❗

Nehmen wir das Beispiel eines Downgrades von VS-2008 auf VS-2005.

  • Man kopiert einfach die entsprechende VCPROJ Datei unter einen neuen Namen
  • Man öffnet diese Datei mit dem Editor seiner Wahl
  • Man schaut in die Datei und findet den folgenden XML Code

<?xml version="1.0" encoding="Windows-1252"?>
 <VisualStudioProject
  ProjectType="Visual C++"
  Version="9,00"

Alles was man nun ändern muss ist die Zeile 4 mit dem Version Eintrag.
Wie ändern diesen Eintrag auf

 Version="8,00"

für VS-2005. Will man zurück auf die Version VS-2003 dann muss der neue Wert

 Version="7.10"

heißen.

Und schon sind wir fertig. Man glaubt es kaum 🙂

Klar ist, dass natürlich neue Features, wie z.B. Eigenschaften des Manifest Compilers in der vorher gehenden Version, die das z.B. gar nicht kennt untergehen. Diese Dateien bleiben in der Projektdatei, aber werden Dank XML einfach in der alten VS Version ignoriert.

5 Gedanken zu „VS-Tipps & Tricks: Downgrade für VC-200x Projekte“

  1. Hallo

    Ich hatte auch bedenkenk ob das mit einem Downgrade einfach so geht. Ich habe im Geschäft die Version 2008 installiert, ein Projekt angefangen und das ganze mit nach Hause genommen um am Abend weiter zu arbeiten. Ich konnte das Projekt ohne Probleme öffenen?

    Ich kann mir jedoch vorstellen, wenn man mit dem Framework 3.x irgendwelche Funktionen anzieht, dass dies dann auch mit dem Hack unter 2005 nicht mehr geht. Wie erkennt man eingentlich, ob man neue Funktionalitäten von Framework 3.x gegenüber 2.0 verwendet?

    Gruss
    Hoschi

  2. Es geht hier um VC!
    Wenn man managed Projekte entwickelt mag das anders sein. Nur da Frageich mich ob das nötig ist. Unter VS-2008 kann man für alle Möglichen Frameworks entwickeln… entsprechend wird die EXE/DLL dann auch ausgeführt. Die Frage nach einer fehlenden Funktion aus 3.0 in 2.0 stellt sich also so nicht… 😉

  3. Das ist natürlich Schwachsinn – einfach so die Versionsangabe zu ändern funktioniert keineswegs, und ich bezweifle dass es jemals funktioniert hat.

    Nicht umsonst gibt es komplette Programme, die diese (scheinbar umständliche) Konvertierung vornehmen – so wie ihr euch das im Traum vorstellt geht das leider nicht 😉

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.