Предположим на мгновение, что вы создаете коммерческий продукт для SharePoint. Этот продукт будет предлагаться как в сообществах (бесплатно), так и в Enterprise (pay) изданиях.Решения/функции для выпусков коммерческого продукта SharePoint
Кодовая база для версии Сообщества - это подмножество с небольшими дельтами, обрабатываемое с помощью (C#) #define операторов. Эффективно это единая база кода. Процесс сборки создает два решения (каждый из которых содержит две функции), по одному для каждого выпуска.
Невозможно установить оба экземпляра в ферме за один раз. Текущая бизнес-модель предлагает сообщество/бесплатную версию только для ферм SharePoint с одним сервером. Это предназначено для поддержки отдельных лиц и сценариев развития.
Решения включают в себя множество функциональных элементов, но в настоящее время нет веб-частей. Возможно, что одна или несколько веб-частей могут быть включены в будущую версию. Любой подход, ограничивающий содержание решения/функции, вероятно, не лучшая идея в долгосрочной перспективе.
В какой мере вы могли бы повторно использовать решения и/или идентификаторы feaure по всем выпускам? Зачем?
Благодарим вас за ответ. Ваша логика о желаемом обновлении имеет смысл. То, как разрабатывается решение, описанное вами поведение обновления может быть выполнено с помощью обоих подходов. Любые другие причины идти так или иначе? –
Вы уверены, что если решение SolutionId изменится, SharePoint загрузит новую веб-часть вместо старой, в которой пользователи уже настроили ее? Я догадался, что этого не произойдет, и вы получите ошибку «Отсутствующая сборка», но не успели проверить. – Ryan
Это интересный момент. Веб-части привязаны к сильно названной сборке. Как вы полагаете, мне пришлось бы проверить, есть ли дополнительная привязка на уровне функции или решения. –