大型C#/ C ++解决方案的目录结构是什么?

您将如何为大型C#解决方案布局目录结构,该解决方案可能包含20到30个项目,主要是C#,但有些是C ++? 你在哪里放置外部依赖? 在源代码管理中创建分支时,您是否完全分支了所有内容? 您是否覆盖构建文件的默认值?

我坚持使用正常的“解决方案目录,子目录中的每个项目”方法 – 使用C#和C ++的混合不应改变这一点。

我喜欢创建一个“lib”子目录(在解决方案目录之外)并将外部依赖项放在那里,然后从每个项目中引用该位置。 这有助于保持所有版本同步。

分支所有内容,因此您可以随时查看整个分支并将其构建为一致的版本。

我通常不会覆盖构建文件所在的默认值 – 这很麻烦 – 但我有一个NAnt(或其他)脚本来进行构建,然后收集相关的二进制文件进行分发。

看看Tree Surgeon CodePlex项目。