Best practice to share common libraries between solutions in .NET

У нас есть пул решений MSVS (Решение "A", "B", "C", ... ), которые разделяют базовую функциональность в сборке под названием "Common.dll".

Есть 3-5 активных решений (которые находятся в стадии разработки), а остальные пассивны и практически никогда не перестраиваются.

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

A). Поместить исходный код common.dll в каждое решение. Плюсы: это поможет активным решениям расти вместе с common.dll бок о бок, а пассивные решения будут компилируемыми. Минусы: сложно синхронизировать активный код common.dll между активными решениями

B). Поместить бинарный код common.dll в каждое решение. Плюсы: все проекты будут компилируемы, а код common.dll будет централизован. Минусы: трудно выращивать активные решения бок о бок с common.dll

C). Ссылка каждого проекта на последние двоичные файлы common.dll похоже на B. но это принесет проблемы с пассивными решениями, если common.dll будет расти и менять свои интерфейсы (некоторые могут сказать, что интерфейсы должны всегда оставаться постоянными)

D). ?

Заранее спасибо!

7
задан Andrew Florko 16 January 2012 в 11:20
поделиться