Frage

Ich möchte ein VC ++ 2010-Projekt mit einem VC ++ 2008 ein synchronisieren. Ist es überhaupt möglich ? Grundsätzlich, wenn ich das Hinzufügen / Löschen / eine Datei zu einem Projekt in VS2010 Umbenennung, würde Ich mag es zu dem entsprechenden VS2008 Projekt hinzugefügt / gelöscht / umbenannt werden. Projektoptionen Synchronisation wäre genial auch, aber nicht notwendig. Ich habe keine Lösung Ebene Synchronisation benötigen entweder.

Bearbeiten : Ich habe Zeit mit einem Skript oder ein Werkzeug vorgeschlagen, „merge“, um die Projektdateien beim Check-in oder zu bauen. Leider hat VC ++ Projektdateiformat von VS2008 auf VS2010 geändert und nichts gemein hat. Also meine Frage ist eher:?. Gibt es ein Tool gibt, die Lage der Verschmelzung / Umwandlung zwischen VC9 und VC10 Projektdateien Ich könnte mein eigenes Werkzeug schreiben, wenn es keine andere Möglichkeit gibt, diese Adresse

War es hilfreich?

Lösung

In meiner Firma hatten wir genau das gleiche Problem und wählten CMake .

Wenigstens versuchen Sie es auf einem Ihrer Projekte ist es die ideale Lösung für Ihr Problem.

Es ermöglicht unsere Projekte mit einer einfachen Syntax in Textdateien zu beschreiben und dann CMake erzeugt VS2005, VS2008 und VS2010 Projekte aus den gleichen Dateien.
Auf diese Weise werden nur die Cmake Dateien modifiziert und alle Projekte werden gleichzeitig aktualisiert.

Kurz CMake ist:
 1. sauber
 2. deskriptiver
 3. nativer
 4. sicher

Denn:
 1. Alle Optionen und Konfigurationen können in den Dateien gelesen werden, nicht in vielen Eigenschaften Panels.
 2. Die CMake Grammatik und Syntax ist leicht zu lesen.
 3. Alle generierten Projekte sind vollständig und unabhängig von CMake.
 4. Sie können einen Source Control Manager auf den CMake-Dateien verwenden.

Wir hatten einige Lösungen von 50 Projekten oder 20 Projekten, und es war eine Menge Arbeit, und einer der Gründe, wir verwenden CMake war, weil wir mit Xcode auf dem Mac auf einigen Bibliotheken, die Projekte sind jetzt üblich, VS zu arbeiten benötigt und Xcode.
Aber es wäre nur lohnt sich auch für die verschiedenen Versionen von VS hat.

Andere Tipps

Die Gallio OSS Projekt mit VS2010 gebaut, während die meisten der Mitwirkenden noch VS2008 verwenden. Um die *.csproj Dateien zu halten mit den *.vs2010.csproj Dateien synchronisiert, verwenden wir einen einfachen Powershell-Skript, das WinMerge gegen jedes Paar von Projektdateien ausgeführt wird. Nichts kompliziert, aber sehr praktisch.

Sie können das Skript herunterladen unter Google Code . Um es auszuführen, geben Sie einfach den folgenden Befehl ein:

@echo off
powershell "& './Compare VS2010 Projects.ps1' -sync %*"

Ich hoffe, es hilft.

Quellcodeverwaltung hilft hier. Ich habe dies vor, indem sie ein Upgrade (VS2010) Zweig und Zusammenführen von Änderungen hin und her zwischen ihm und dem Rumpf (VS2008) mit früheren Versionen gemacht. Während sicherlich nicht nahtlos, es funktioniert.

Ich weiß nicht, ob die Projektänderungen in VS2010 wäre es besser machen oder schlechter als zuvor!

Ich glaube, die eine Befehlszeilenoption ist eine VS2008 Projektdatei VS2010 zu migrieren. So wäre eine Option, um nur die VS2008 zu halten und regenerieren die VS2010 Projekte. Die Nachteile sind

  • Nicht in der Lage VS2010 spezifische Projektoptionen
  • eingeben
  • wird Änderungen des VS2010 Projekt überschrieben und nicht zurück zu VS20008 verschmolzen.

Sie können nur die Lösung / Projektdateien getrennt halten. wenn Sie Ihre schreiben werden Add-on lasst es mich wissen!

Ich habe nicht 2010 bei der Arbeit so installiert, dass ich hier vor allem aus dem Gedächtnis gehe. Sehr wenig in der Projektdatei Schema 2005-2008 bis 2010. Für den größten Teil geändert hat ich einfach ein Textvergleich-Tool wie WinDiff oder BeyondCompare verwenden, um die Änderungen zu markieren und kopieren Sie sie von einer Datei in den andere. Ich habe nicht mit einem der Web-Projekttypen gespielt, aber ich bin zum größten Teil unter der Annahme der gleichen Technik arbeiten. Da ich im Grunde XML-Schema können Sie auch ein XML-Mapping-Tool verwenden, um die gleiche Arbeit zu tun.

Ich bemerke, als ich ein Open-Source-Projekt umgewandelt, die 2010 wirklich keine Einstellungen Clickonce Projekt mochte. Es wäre konvertiert in Ordnung, aber würde mich fragen, wieder jede weitere Zeit zu konvertieren ich das Projekt geöffnet. Am Ende habe ich vollständig die Clickonce-Informationen aus der Projektdatei, um es zu bekommen zu entfernen zu stoppen.

EDIT: Meine Erfahrung auf dem C # -Projekt Schema meist basiert, die viel im Laufe der Zeit nicht verändert hat. Wie TheSamFrom1984 hervorgehoben hat, gibt es einige große Veränderungen in der C ++ Schema, das es in den MSDN-Dokumentation auf Version 10 noch.

mit VS2010 zu entwickeln und downtarget die Plattform-Tools V9

Visual Studio 2010 unterstützt Multi-Targeting die es Ihnen erlaubt, so dass Sie die neuesten Tools verwenden können, ein älteres Projekt zu erhalten. Warum nicht einfach das tun?

Es kommt mit VS2010 und VS2008 für C ++ aus der Box, hier einige Informationen über settingup der VS2005 Werkzeugkette

http://weblogs.asp.net/israelio/archive/2009/10/20/enable-vs-2010-multi-targeting-also-for-vs2005-c.aspx

Ich habe gerade diese zurück, wenn VS 2008 herauskommt und wir waren die Bewertung, während der Rest des Teams VS wurde unter Verwendung 2005. Ich wollte nicht in eines der neuen Format Projektdateien begehen wie die brechen würde es für der Rest des Teams, so schrieb ich ein kleines Skript in ruby, die nur für alle .vcproj Dateien durchsucht und umbenannt sie _2008.vcproj. Ich tat das gleiche für die .sln auch Dateien, sondern auch für die Referenzen gesucht in den .vcproj Dateien sln und umbenannt, das zu _2008.vcproj, so dass sie die neuen Projekte verweist.

Als nächstes laden Sie einfach die neuen Lösungsdateien und lassen Sie die Migrationsassistenten nicht sein Ding (Ich gehe davon aus VS 2010 eine ebenso wie die älteren Versionen hat). Auf diese Weise können Sie beide Versionen nebeneinander laufen. Wenn jemand anderes in dem Team der alten Projektdatei Änderungen vornimmt dann einfach wieder läuft Ihre Conversion und dann sollte der Assistent nur das Projekt migrieren, die geändert werden.

Es gibt ein weiteres zwicken Sie benötigen, um das Skript hinzuzufügen, die die OutputDirectory und IntermediateDirectory Felder in der vcproj Datei zu ändern, so dass Sie auch auf verschiedene Verzeichnisse bauen sind. Wenn Sie das tun, dann bedeutet es, dass Sie in der Lage sein sollten, mit beiden Versionen von Visual Studio auf demselben Quellbaum zu bauen.

Sie sollten die VS2010 Kopie als Zweig behandeln. Alle paar Tage und bei jeder größeren Änderung (Pending Tests bestehen, natürlich), fusionieren Änderungen in den anderen Zweig. Dies ist eine weit verbreitete und akzeptierte Praxis in Enterprise-Software-Umgebungen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top