I like your idea of putting the Sandcastle files as a peer to Source and Tests, I would add a documentation folder, that would then contain the sandcastle files, and optionally the actual documentation.
There are definetly differences of opinions and I’m sure I will be downvoted for this (since I have been before). I would put the generated documentation in TFS for a couple of reasons:
- Your going to want your documentation with each release, and using TFS is an easy aproach to ensure your documentation stays in the correct place.
- Using TFS to store it means everyone will know where to go get the documentation.
One thing I don’t see which I always struggle with is where to third party dependancies, it might be that they belong down under the source so they are with each project although if you wanted to share them accross projects you could add a new top level node.
Edit
For my binaries I usually end up with
$/ThirdParty/Company/Product/Version/Src(optional)
So for example I have
$/ThirdParty/
Microsoft/
EntLib/
3.1
4.0
ComponentArt/
WebUI/
2008.1/
Src
I like to add the source, I’ve had to patch CA’s source which I hate to do but when a third party doesn’t fix the bug you have to resort to this.