I use this solution structure:
-
Library
-
BusinessObject.Library
-
Utility.Library
-
WebControls.Library
-
WindowsControls.Library
-
Application
By putting my business objects, utility objects, and ui objects in their own libraries, I can create multiple web and/or windows apps that reuse those components in a mix-and-match style.
My business object library includes the data access layer components, but that's just because I'm not worried (at the moment) about needing to support more than one database vendor's product. If I were, I would have separate data access libraries.
If this answered your question, be sure to mark it as the answer. That way, everybody after you will know it's the answer also!