2011-01-04 3 views
17

Ich habe eine große Visual Studio 2010-Lösung. Ich arbeite mit Visual Studio 2005, daher möchte ich die Lösung in die gewünschte Version konvertieren. Im Grunde handelt es sich um einen portablen C++ - Code, daher sollte er auch auf Visual Studio 2005 kompiliert werden. Das Ändern der Version in der * .sln-Datei hilft nicht, da das * .vcxproj-Format vollständig vom alten * .vcproj-Format abweicht.Wie wird die Lösung von Visual Studio 2010 auf Visual Studio 2005 heruntergestuft?

Die Lösung von Hand neu zu erstellen ist aufgrund ihrer Größe keine Option. Außerdem gibt es einige nicht standardmäßige Compiler-Flags, Abhängigkeiten usw., die ich nicht kenne (und ich kann nicht ALLEN XML-Müll durchsehen, den ich nicht verstehe).

Es gibt bereits eine verwandte Frage zu How Do I Downgrade a C++ Visual Studio 2008 Project to 2005. Das dort vorgeschlagene Dienstprogramm unterstützt jedoch höchstens Visual Studio 2008.

Irgendwelche Vorschläge?

+6

Ich denke, du bist SOL –

+2

Wenn es einen Weg gibt, würde ich es nicht vertrauen. Mach es manuell. –

+0

Versucht dies http://sourceforge.net/projects/vsconverter/?[Ich habe es nicht versucht] –

Antwort

0

Ich habe nicht versucht, aber das sieht vielversprechend aus:

http://www.emmet-gray.com/Articles/ProjectConverter.htm

bearbeiten: Nein, nicht vielversprechend, sorry :-(

+3

Leider "Es gibt ein komplett neues Projektdateiformat für C/C++ in VS2010, daher wird dieses Dienstprogramm nicht in der Lage sein, C/C++ - Projekte in oder von diesem neuen Format zu konvertieren. .. " – Rup

+0

Ja, geprüft. Es funktioniert nicht "... wird zur Zeit nicht unterstützt". – ybungalobill

+0

Ack, das ist scheiße. Ich hatte gehofft, dass das nur eine alte Aussage war, denn die Screenshots würden Sie glauben machen, dass es funktioniert. Ich denke du bist SOL .. :-( – Caladain

1

In meiner Arbeit ein Dienstprogramm aus, das die EnvDTE.dll genutzt und scannte eine vcproj-Datei und optional alle vcproj-Dateien innerhalb einer sln-Datei, verglich alle Einstellungen mit einer "Vorlage" und gab eine Warnung aus oder änderte die Einstellung optional, um die Werte zu korrigieren verifiziert, um in allen Projekten korrekt und konsistent zu sein. Ich habe die ut nicht aktualisiert bis 2010 aufgrund anderer Prioritäten.

EnvDTE hat sich nicht viel geändert von Visual Studio 2008 zu Visual Studio 2010. Vielleicht ist es möglich, ein einfaches Dienstprogramm zu erstellen, das die vcxproj-Datei mit DTE100 öffnet und sie mit DTE90 oder früher speichert.

1

Der einfachste Weg ist wahrscheinlich, ein neues Projekt in VS 2005 zu erstellen und den Dialog zum Hinzufügen vorhandener Objekte zu verwenden, um den Code dem Projekt hinzuzufügen. Ich würde vorschlagen, 'Leeres Projekt' als Projekttyp zu verwenden, damit Sie nicht viel automatisch erzeugten Müll für Sie erzeugen, den Sie sowieso einfach löschen.

+1

Es löst nicht den schwierigsten Teil: Ich kann nicht alle Compiler Flags und Abhängigkeiten in einer ~ 100 Projektlösung von Hand setzen. – ybungalobill

4

Es ist wirklich total scheiße, dass jede proprietäre IDE heute denkt, dass sie ihr eigenes Projektdateiformat erstellen muss. "Liebe IDE-Entwickler, benutze einfach Makefiles und erstelle eine nette GUI dafür, damit auch Leute ohne Makefile-Wissen damit arbeiten können!" In VS6 war es zumindest möglich Makefiles zu importieren/exportieren, aber heute nicht mehr. Und es war möglich, nmake für automatisierte Builds zu verwenden. Es musste keine IDE installiert werden, nur die Toolchain, die ohne Installation durch einen einfachen Checkout gepackt werden konnte.

Ich benutze jetzt CMake. Es ist kostenlos, es ist plattformübergreifend, es wird in kostenlosen IDEs wie KDevelop, QtCreator usw. gut unterstützt. Es kann Makefiles und Visual Studio-Projekte generieren. Sie verwalten also nur eine Projektquelle, die CMakeLists.txt-Datei, und können mit jeder IDE arbeiten. Keine Probleme mit verschiedenen Versionen von Visual Studio oder mit anderen proprietären Projektdateiformaten. Auf diese Weise können Sie oder VS-Projekte für die Entwicklung generieren und Sie können Makefiles für Kommandozeilen-Builds mit nmake wie in den guten alten Tagen generieren.

BTW, es ist viel einfacher, Einstellungen in einer CMakeLists.txt als durch Klicken auf verschiedene GUI-Dialoge zu ändern. Aber das ist eine Frage der persönlichen Vorlieben.

+3

1) VS unterstützt 'nmake' Projekte bis heute. 2) MS wechselte zu MSBuild, um den Build der Projekte zu beschreiben. 3) Ich bin skeptisch, inwieweit es möglich ist, ein GUI-Makefile zu erstellen. 4) Warum denkst du, dass Gnu-Maker der "Standard" sein sollte? Es ist so ein hässliches Build-System. Es erfordert, dass Sie entweder all diese Sachen von Hand schreiben (viel Glück machen Sie Ihre Makefiles über verschiedene Toolchains tragbar), oder verwenden Sie die Autoconf-Tools, die noch hässlicher sind. Es gibt bessere Build-Systeme da draußen (Boost Build, Scons). – ybungalobill

+1

5) Ich hasse CMake, denn genau wie bei configure/make ist es kein One-Step-Build-System. Versuchen Sie, 4 verschiedene Konfigurationen in einem Befehlszeilenaufruf zu erstellen ... boost.build löst es in hohem Maße. 6) Wie beantwortet es die Frage? – ybungalobill

+1

Von allem, was Sie gesagt haben, stimme ich Ihnen in einer Sache zu: Es ist scheiße, dass jede IDE ihr eigenes Projektdateiformat hat. Darüber hinaus sollten IMO-Projekte nicht existieren. Die IDE sollte in der Lage sein, ein beliebiges Makefile (sei es nmake, gmake, boost.build oder irgendein anderes Build-System) "zu öffnen", das nur für Buildzwecke verwendet wird, und anstelle des "Solution Explorer" möchte ich ein einfaches altes sehen Dateisystembaum verwurzelt im geöffneten Makefile. – ybungalobill

Verwandte Themen