Предположим на мгновение, что вы создаете коммерческий продукт для SharePoint. Этот продукт будет предлагаться как в сообществе (бесплатно), так и в версии Enterprise (платно).
База кода для редакции Community представляет собой подмножество с незначительными дельтами, которые обрабатываются через (C #) #define. Фактически это единая кодовая база. В процессе сборки создаются два решения (каждое из которых содержит две функции), по одному для каждой редакции.
Не должно быть возможности установить оба выпуска в ферме одновременно. Текущая бизнес-модель предлагает сообщество / бесплатную версию только для ферм SharePoint с одним сервером. Это предназначено для поддержки отдельных лиц и сценариев развития.
Решения включают множество функциональных элементов, но в настоящее время нет веб-частей. Возможно, что одна или несколько веб-частей могут быть включены в будущий выпуск. Любой подход, который ограничивает содержание решения / функции, вероятно, не лучшая идея в долгосрочной перспективе.
В какой степени вы будете повторно использовать идентификаторы решений и / или функций в разных изданиях? Почему?