How would you lay out the directory structure for a large C# solution, consisting of perhaps 20 to 30 projects, mostly C# but some C++? Where do you put external dependencies? When creating a branch in source control, do you branch absolutely everything? Do you override the defaults for where built files go?
相关问题
- Sorting 3 numbers without branching [closed]
- Graphics.DrawImage() - Throws out of memory except
- Why am I getting UnauthorizedAccessException on th
- 求获取指定qq 资料的方法
- How to know full paths to DLL's from .csproj f
I'd stick with the normal "directory for the solution, each project in a subdirectory" approach - using a mixture of C# and C++ shouldn't change this.
I like creating a "lib" subdirectory (off the solution directory) and put external dependencies in there, then reference that location from each of the projects. This helps to keep all the versions in sync.
Branch everything, so you can always check out a whole branch and build it to a consistent version.
I generally don't override the defaults for where built files go - it's a lot of hassle - but I have a NAnt (or whatever) script to do the build and then collect the relevant binaries for distribution.
Take a look at the Tree Surgeon CodePlex project.