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.