2010-12-08 7 views
1

Ich habe eine große Lösung mit vielen Projekten. Aufgrund der Größe und Anzahl der Projekte werden die Bauzeiten unüberschaubar.Verwalten großer Lösungen in Visual Studio 2008

Ich bin daran interessiert, über alle Techniken zu lernen, die Leute verwendet haben, um die Lösung zu durchbrechen und wie sie DLLs und Projektreferenzen verwaltet haben.

+1

mögliches Duplikat von [Best Practices für große Lösungen in Visual Studio (2008)] (http://stackoverflow.com/questions/690033/best-practices-for-large-solutions-in-visual-studio-2008) –

+0

Können Sie uns einige Metriken geben? Wie viele Projekte in der Lösung? Wie viele C# Zeilen Code, ungefähr? Um Build Release und Debug (und andere Konfigurationen vielleicht)? –

+0

Gute Frage, aber es wurde schon mehrmals auf dieser Seite gefragt und beantwortet. Bitte sehen Sie den Tipp Kommentar. –

Antwort

1

Scott Hanselman blogged on this a number of times hat.

Fazit: 30-40 Projekte scheint eine vernünftige Obergrenze zu sein. Alles weitere wird schmerzhaft.

Fragen Sie sich: "Benötige ich wirklich all diese Projekte, die in der Lösung entstehen?"

Nein? Berücksichtigen Sie dann mehrere Lösungen (z. B. client.sln, server.sln, plugins.sln usw.)

Ja? Dann überlegen Sie, Projekte in weniger Projekte zu konsolidieren. Kombinieren Sie beispielsweise Client.Presenter, Client.Views und Client.Models in einem einzelnen Clientprojekt. Siehe Benefits of larger but fewer assemblies.

+0

+1 "Verwenden Sie weniger Projekte" ist die beste Regel zum Verbessern der meisten Aspekte der Visual Studio-Leistung –

0

Sie können Ihre Projekte in verschiedene Lösungen aufteilen und den Build-Ausgabepfad (Projekteigenschaften -> Erstellen -> Ausgabepfad) auf einen gemeinsamen Ordner verweisen. Fügen Sie die Referenzen zwischen verschiedenen Projekten aus diesem allgemeinen Ordner hinzu. Auf diese Weise müssen DLLs nicht in verschiedene Ordnerordner kopiert werden.

Der Nachteil ist jedoch, dass Sie sich die Build Sequence selbst merken müssen.

+0

Sie können weiterhin Projektreferenzen mit dieser Technik verwenden und Visual Studio zum Verwalten der Buildsequenz abrufen. Fügen Sie Projektreferenzen wie üblich hinzu, setzen Sie jedoch Copy Local = False. –