Разделение решения .NET / репозитория Git для нескольких приложений

В настоящее время у меня есть одно решение, которое содержит как одно разработанное на данный момент приложение, так и проекты для всех собственных библиотек. Все это решение также хранится в едином репозитории Git. Сейчас я собираюсь разработать второе приложение, которое будет использовать те же самые библиотеки. Циклы выпуска этого приложения будут отличаться от циклов выпуска первой и других версий. У меня есть вопрос (или вопросы): как разделить код, как с точки зрения настроенного решения, так и с точки зрения Git.

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

  1. Приложения развернуты к общему сетевому диску, а не к отдельным компьютерам, поэтому я полностью контролирую, когда они развертываются и что развертывается вместе с ними
  2. Библиотечные DLL не используются совместно созданными приложениями. Каждое приложение имеет в своей папке полную копию всех библиотек DLL, PDB и файлов конфигурации.
  3. В настоящее время я единственный, кто выпускает релизы, но еще одно или два могут в конечном итоге выпустить релизы, поэтому я хотел бы имейте это в виду.

Я крутил в голове пару идей, но ни одна из них не кажется удовлетворительной. Я подумал о том, чтобы просто сохранить все в одном решении / одном репозитории Git. Я' Мы также думали о разделении решения на несколько репозиториев Git с помощью подмодулей, но подмодули громоздки. Я также подумал о том, чтобы сделать каждое приложение отдельным решением, а все библиотеки - еще одним. Тогда возникает вопрос, могу ли я открыть несколько решений в Visual Studio. Библиотеки часто должны меняться вместе с приложениями, поэтому их слишком большое разделение на отдельные решения или репозитории Git затруднит синхронизацию библиотек и приложений. Еще одна проблема, которую я беспокоит, - это ветвление. Если я разделю решение на несколько репозиториев Git, у меня могут быть ветки для каждого приложения, но если я сохраню одно репозиторий Git, у меня будет только один набор веток для всего.

Я могу даже не задавать правильные вопросы я, и это ' Также возможно, что у меня просто психический блок, который мешает мне найти простое решение. В любом случае, я доверяю сообществу SO дать мне несколько идей. Надеюсь, все ясно, а если нет, буду рад уточнить.

6
задан siride 14 September 2010 в 15:30
поделиться