Как мне управлять / декларировать зависимости между проектами C # с открытым исходным кодом? - PullRequest
4 голосов
/ 08 июня 2010

У меня есть игра (похожая на roguelike) на C #, которую я нахожусь в процессе очистки с открытым исходным кодом. Один шаг, который я хотел бы сделать, это разделить его на три части:

  1. Простой пакет служебных классов , таких как двумерные массивы, векторы и т. Д.
  2. Терминальный пакет пользовательского интерфейса, который отображает проклятие. Это зависит от 1.
  3. Фактическая игра, в которой используются 1 и 2.

Прямо сейчас, это все отдельные проекты в одном решении, но я бы хотел сделать их полностью отдельными проектами (в смысле «проект с открытым исходным кодом», а не в термине «проект визуальной студии»). ) со своими именами и репо. Я думаю, что, по крайней мере, № 1, как правило, полезен, даже если вы не создаете игру, и я не хочу, чтобы кто-то создавал целую игру только для того, чтобы получить некоторые полезные функции.

В чем я не уверен, так это в том, как обрабатывать зависимости, если я разделю решение. Если кто-то решит, что он хочет синхронизировать игру, как я должен убедиться, что он также получает 1 и 2?

  1. Включить встроенные зависимые .dll в репозиторий игр?
  2. Просто документируйте: «Вам нужны эти другие проекты, и они должны быть на пути относительно игры, подобной этой».
  3. Просто оставьте все это одним гигантским решением и одним репо.
  4. Что-то, о чем я не думаю?

1 Ответ

1 голос
/ 08 июня 2010

Я бы выбрал ваш вариант 1. Если я, как пользователь, хочу работать над игровым проектом, мне нет дела до двух других проектов, но игра нуждается в этом, поэтому включите dll.

Если я хочу внести изменения в служебные классы, тогда я внесу изменения в служебный проект.

Это похоже на то, как я использую проект с открытым исходным кодом другой стороны.Когда в библиотеку другой стороны нужно внести изменения, я иду и делаю это там, а затем просто получаю последнюю версию .dll для этого проекта в качестве зависимости.

...