这是关于与.NET/Git和构建系统项目结构的问题,所以我会尽量保持简短:项目结构和构建系统的.NET连接到Git的
设置:
- .NET(C#和VB.NET)
- 混帐(前身为SVN,我们没有使用的外部)
以下的项目结构我想:
- [NameOfApp]
- git的
- [NameOfApp - solutionfile正下方]
- [PROJECT1]
- [Project2中]
- [配置]
- [标准]:开发人员的一些标准配置(当他们第一个被复制时
initilalizes他的回购,但他/她可以改变它们) - [脚本]:有些skripts,也为构建系统脚本
- [依赖性]
- [依赖性1]:是一个子模块
- [主文件夹]
- [解决方案文件]
- [项目]
- [解决方案文件]
- [依赖性]
- [subdependency 1]
- [subdependency 2]
- [依赖性2]:另一个子模块
- [另一种解决方案]:在一个子模块,有时我没有什么助手在 的构建过程中担心一些问题。由构建脚本调用。
- [主文件夹]
- [依赖性1]:是一个子模块
我在寻找一个良好的结构为我们所有的项目,上述结构仅用于一个项目至今。
所以我的问题:
- 这看起来像你的有效设置?我知道这是一个困难的问题,但是你有类似的设置或类似的设置有问题吗?
- 你会使用git submodules还是有更好的?有人说他们是邪恶的,可能会造成问题。仅供参考,我的子模块是许多项目使用的项目。依赖关系有时候会保存解决方案文件,所以我有项目文件夹不足。然后在我的mainapp中引用项目。我不知道子树是否足够,我也听说过回购(对于Android),也许这是一个解决方案?或者还有其他工具来管理依赖关系吗?
- 有时我的依赖关系也有依赖关系。所以,当我做一个递归克隆时,我会得到一个有些分支的奇怪结构(参见上面的结构)。有时我必须为我的主应用程序添加子依赖关系,因为我想在其中更改某些内容,并且需要重建依赖项。那么你如何保持子依赖或子依赖?
- 如果你有开源的依赖(例如github),你是否直接使用dll?或者你是否分叉并添加一个git子模块?
- 您是否将所有项目添加为projectreference或者是否直接引用dll(例如,您的子或子依赖关系将它打破一点而不总是重建整个项目树)?
- 什么构建系统给你更喜欢?
我知道这些不是一个“正确”答案的问题,但也许你可以帮助我一点点,并分享一些想法。
感谢, Cyber1000