しばらくの間、SharePoint用の商用製品を作成していると仮定します。この製品は、コミュニティ(無料)エディションとエンタープライズ(有料)エディションの両方で提供されます。
Communityエディションのコードベースは、マイナーデルタがすべて(C#)#defineステートメントで処理されるサブセットです。事実上、それは単一のコードベースです。ビルドプロセスでは、エディションごとに1つずつ、2つのソリューション(それぞれに2つの機能が含まれています)がビルドされます。
一度に両方のエディションをファームにインストールすることはできません。現在のビジネスモデルでは、単一サーバーのSharePointファームに対してのみコミュニティ/無料バージョンが提供されています。これは、個人および開発シナリオをサポートすることを目的としています。
ソリューションにはさまざまな機能要素が含まれていますが、現在Webパーツは含まれていません。1つ以上のWebパーツが将来のリリースに含まれる可能性があります。ソリューション/機能の内容を制限するアプローチは、長期的にはおそらく最善のアイデアではありません。
エディション間でソリューションや機能IDをどの程度再利用しますか?なんで?