我应该如何管理/声明开源C#项目之间的依赖关系?

时间:2010-06-08 05:37:03

标签: c# open-source project-management dependencies

我在C#中有一个游戏(roguelike具体),我正在清理开源。我想采取的一个步骤是将其分为三个不同的部分:

  1. A simple package of utility classes,像2D数组,向量等等。
  2. 终端UI包,为您提供类似curses的显示。这取决于1。
  3. 实际游戏,使用1和2。
  4. 目前,这些都是同一解决方案中的独立项目,但我有点想让它们完全独立的项目(在“开源项目”意义上,而不是“视觉工作室项目”使用的术语)用自己的名字和回购。我认为,至少#1通常很有用,即使你没有建立游戏,我也不希望有人为了获得一些方便的功能而必须建立整个游戏。

    如果我拆分解决方案,我不确定如何处理依赖关系。如果某人决定要同步游戏,我该如何确保他们也获得1和2?

    1. 在游戏仓库中包含已构建的依赖.dll?
    2. 只是记录,“你需要这些其他项目,他们必须处于相对于游戏的路径中。”
    3. 只需留下一个巨大的解决方案和一个回购。
    4. 我没想到的东西?

1 个答案:

答案 0 :(得分:1)

我会选择1.如果我作为用户想要参与游戏项目,我不关心其他两个项目,但游戏需要它,所以包括dll。

如果我想对实用程序类进行更改,那么我就可以对实用程序项目进行更改。

就像我自己使用另一方的开源项目一样。当对方的lib需要更改时,我会去那里然后只是获取该项目的最新.dll作为依赖。