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?
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
回答1:
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.
回答2:
Take a look at the Tree Surgeon CodePlex project.