I don't have this book, but I have a lot of experience building complex VS.net solutions, so perhaps I can explain a little bit about them.
One of my current projects is a photobrowser that I am building under the namespace of my main website (geekdork.com). Its solution contains 4 projects that are scattered throughout my namespace hierarchy. The main solution file is GeekDork.PhotoBrowser.Website.sln and it contains the following projects:
- GeekDork.Core.csproj
- GeekDork.Core.Util.csproj
- GeekDork.PhotoBrowser.Website.csproj
- GeekDork.Web.Util.csproj
The projects are organized physically to match the namespace heirachry. Here is the storage and namespace organization underneath my main code directory. Directories are in
bold and namespace hierarchy is in
italics:
Code:
\GeekDork
+--\Core
| +--\GeekDork.Core
| | +---GeekDork.Core.csproj
| +--\Util
| +--\GeekDork.Core.Util
| +---GeekDork.Core.Util.csproj
+--\PhotoBrowser
| +--\Website
| +--\GeekDork.PhotoBrowser.Website
| | +---GeekDork.PhotoBrowser.Website.csproj
| +---GeekDork.PhotoBrowser.Website.sln
+--\Web
+--\Util
+--\GeekDork.Web.Util
+---GeekDork.Web.Util.csproj
When you have these projects in a solution, all the project references are "back referenced" with the "..\" syntax so the whole source code tree is portable. You have to implement this structure manually when you create each project.
I took this structure from the Microsoft
white paper on Team Development with Visual Studio .NET and Visual SourceSafe. It works pretty well. One of the problems I have is that when you create a solution VS will create a sub directory for the solution automatically. There is a checkbox to disable this but the checkbox is always disabled, still haven't cracked that one. Usually this isn't that big of a deal because you don't create that many solution files. So you have to just move it back one directory to get everything lined up. You could very easily just leave the solution where it is and let it live adjacent to a project file.
Peter
------------------------------------------------------
Work smarter, not harder.