Frage

Ich habe 3 .net-Projekte.

Project1.dll wird von einem VS2008-Projekt erzeugt.

Project2.dll wird von einem VS2005-Projekt erzeugt, die Project1.dll verweist.

Project3.dll von einem VS2008-Projekt erzeugt wird, die Verweise sowohl Project1.dll und Project2.dll.

Im Moment baue ich Project1.dll, und kopieren Sie sie manuell auf den Ort, an dem Projekt 2 es abholen kann bis.

Dann baue ich Project2.dll und kopieren Sie ihn manuell und Project1.dll an den Ort, an dem Projekt 3 sie abholen können.

Natürlich mache ich etwas falsch (manuell). Was ist der richtige Weg, um meine Projekte auf dem neuesten Stand Verweis zu halten?


Aktualisieren Projekt2 auf VS2008 und dann die Schaffung einer Lösung, die alle drei Projekte enthält, ist keine Option zu diesem Zeitpunkt. Wir haben ein 3rd-Party-Visual Studio-Plugin, das noch nicht in VS2008 funktioniert. Projekt2 muss in VS2005 bleiben

De-Aktualisierung Project1 und Project3 auf VS2005 und dann eine Lösung schaffen, ist keine Option. Wir setzen auf C # 3.0 und .NET 3.5-Features in diesen Projekten.

War es hilfreich?

Lösung

David, Wahrscheinlich wäre die beste Option, um einen Common-Build-Ordner für alle drei Projekte haben sein. Dies kann im Projekt Properties- erfolgen> Build -> Ausgabepfad. zeigen Sie dann die Verweise auf den Ausgabeordner. Auf diese Weise, wann immer Sie eine der unteren Projekte bauen, müssten die höheren Projekte die neuesten Versionen. Sie können den Pfad pro Konfigurationen (Debug, Release) und eingestellt, so dass Sie nicht, dass für jede Art von Build ändern müssen.

Andere Tipps

Wie wärs mit einem Pre-Build-Ereignis für Project3, dass geht aus und verwendet eine Batch-Datei Projekt1 kopieren Sie sie in Project2 Ordner zu bauen und dann bauen project2 und kopieren Sie sie in project3 Ordner.

Ich würde empfehlen, die csproj / vbproj Dateien zwischen den Lösungen zu teilen. Das Format der Projektdateien ist kompatibel zwischen den beiden Versionen von Studio (Lösungsdateien sind jedoch nicht), und solange Ihr VS2008 Projekte der 2.0 Runtime zielen sollten Sie keine Probleme sie Kompilieren haben. Dies ermöglicht es Ihnen, die Projekte zu verweisen, die sich um Abhängigkeiten nehmen.

Der einzige Ort, an dem dieses haarigen bekommt, wenn Sie ein Web-Projekt, das zwischen den beiden Versionen von Studio arbeiten muss. In diesem Fall gibt es einige Änderungen an den Projektdateien, die auf die richtigen MSBuild Zieldateien verweisen.

Wir verwenden einen Build-Skript, das die Abhängigkeiten behandelt, den DLLs baut und tut, was Sie manuell tun.

Ein Trick, den ich in der Vergangenheit verwendet habe, ist alles bis 2008. Dann hat ich Setup eine spezielle Lösung im Jahr 2005 für das Projekt zwei zu bewegen und verwenden Sie es mit dem Addin zu arbeiten. Immer dies nur zu arbeiten, hängt ab, wie schlecht Projekt zwei benimmt sich im Jahr 2008.

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