3 Stimmen

Wie strukturiert man ganze Anwendungen in Visual Studio?

Beispiel

Ich arbeite an einem Projekt, das aus 3 separaten Teilen besteht (ASP.NET MVC, WinForms, Silverlight) und 15 Projekten (Common, Api, Services, Repository und WinForms CABs).

Auflösungen

1) Alle diese Projekte in einer Lösung
2) Für jeden Teil eine eigene Lösung

Was ist der beste Weg, um mit Lösungen und Projekten in Visual Studio umzugehen?

Erstes ist großartig, wenn ich Refactoring mache.
Zweites ist gut für eine bessere Klarheit.

1voto

GvS Punkte 51365

Ich mache beides. Du kannst ein Projekt zu mehreren Lösungen hinzufügen.

1voto

SondreB Punkte 778

Je nach Größe der einzelnen Projekte würde ich für alle Projekte eine einzige Lösung verwenden. Projekte füge ich niemals in Lösungsordnern ein, das ist für gemeinsam genutzte Assemblys, Readme-Dateien usw. vorbehalten.

Ich schlage vor, eine SolutionInfo.cs im Solution Items-Ordner zu erstellen und einen Verweis darauf in allen Ihren Projekten hinzuzufügen. Dann können die meisten Assembly-Attribute innerhalb der AssemblyInfo.cs-Dateien entfernt werden. Ich habe nur 3 Attribute in der AssemblyInfo: AssemblyTitle, AssemblyDescription, Guid. Die anderen Eigenschaften werden unter all meinen Projekten gemeinsam genutzt.

Alle Projekte in derselben Lösung zu haben, stellt sicher, dass Sie ordnungsgemäße Namespaces haben und keine Kollisionen zwischen den verschiedenen Client-Implementierungen auftreten.

Nennen Sie Ihre Projekte entsprechend den Namespaces, zum Beispiel wenn Ihr Projekt "Sport" heißt, benennen Sie die Lösung "Sport", die gemeinsam genutzte Bibliothek für "Sport.Common", "Sport.Web" usw.

Ich fange erst an, Projekte in mehrere Lösungen aufzuteilen, wenn ich Leistungsprobleme mit einer zu langen Kompilierungszeit habe. Alles in derselben Lösung zu haben, erleichtert das Management erheblich, insbesondere wenn Sie ein Versionskontrollsystem verwenden.

0voto

flesh Punkte 23365

Meine Präferenz besteht darin, gemeinsame Projekte in einem globalen Bereich zu erstellen und sie in spezifische Anwendungskonfigurationen (Lösungen) einzufügen, wo sie benötigt werden. Nicht gemeinsame Projekte, die spezifisch für eine Lösung sind, können innerhalb dieser Lösung existieren. Beachten Sie jedoch, dass Änderungen an einem gemeinsamen Projekt in einer Lösung Auswirkungen auf dieses Projekt in allen anderen Lösungen haben werden, die es verwenden.

0voto

Captain Comic Punkte 14884

Natürlich ist eine Lösung pro Anwendung (exe oder gehostet spielt keine Rolle). Dann legen Sie alle Assemblys ab, die Sie häufig debuggen oder refaktorisieren.

Andere behalten als kompilierte Binärdateien.

0voto

Graviton Punkte 79320

Ich würde eine Lösung für jeden Teil haben, was bedeutet, dass jedes ASP.NET MVC, Silverlights und Winform ihre eigene .sln Datei haben.

Was das Refactoring betrifft, spielt es keine Rolle, denn wenn Sie Resharper installiert haben, werden die Moment, in dem Sie den Code in anderen Lösungen refaktorisieren, Ihre nicht aktualisierten csprojekts cs-Dateien strahlen in roter Farbe (ohne Kompilierung), und Sie können sie einfach mit einem Klick umbenennen (Alle xxx in yyy ändern Option)

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X