有没有办法在同一个解决方案中使用分离的项目(在源代码管理下分开)?

时间:2011-07-29 06:03:01

标签: visual-studio-2010 git version-control project-management project

所以我使用git源代码控件创建我的项目并使用其他存储库中的一些库。但我也是这些库的开发者,我想在我的项目中编辑/调试它们,所以我可以将它添加到项目中,而不是像二进制文件那样,但是类似于另一个项目。

我发现了这篇文章:Multiple projects in a solution vs. multiple projects in source control

但我正在使用Windows,通常只使用Tortoise Git。我想这样配置起来真的很难。

还有另一个想法。不要将解决方案文件添加到版本控制并创建一些自述文件,以便其他开发人员必须如何构建项目及其依赖项。

也许某人已经遇到过甚至解决过这样的麻烦,我很有兴趣了解它的任何解决方案和变种。

谢谢。

2 个答案:

答案 0 :(得分:2)

在我曾经工作的公司,我们最终将项目本身放入不同的回购中,这使得管理它们变得更容易,而不是1个解决方案。然后,我们编写了一个批处理文件,将所有部分重新组合在一起并正确编译(仅编译组件项目)。这可能对每个人都不起作用,但这只是一个建议。

我们这样做的原因是因为在VS中打开解决方案对于机器来说是非常耗费内存的,并且变成了一大堆文件。

此外,这可以使用,以便团队只能使用他们指定的软件,并且实际上只能与其他组件通信。这是强制执行3层/ n层架构设计的好方法,因为您将项目分开,让团队/开发人员只关心他们正在做什么(不是真正的傻瓜证明,但它有帮助)。

答案 1 :(得分:1)

在我们公司,我们通常有一个由几个项目组成的解决方案,大多数是十几个或几十个。这些来自不同的repos'因为其中一些是通用库,框架等。但是,我们使用SVN和VS AnkhSVN插件,因此将更改提交给多个repo完全没有问题。

我的假设是检查Git VS插件是否可以在一个解决方案中使用seeral repos。有关Git VS插件的更多信息,请访问:Using Git with Visual Studio

顺便说一句,根据“一次或多次回购”讨论,我们为项目创建了一个回购。因此,如果项目的某些部分存在,并且之前存在一些部分,并且很可能会继续存在 - 那些不应该放在项目回购中。如果在项目中出现了一些伟大的东西,我们相信这会使它过度 - 我们总是可以将回购子树迁移到一个独立的SVN回购。