Со временем база кода, которую я поддерживаю, выросла в геометрической прогрессии. У нас есть различные классы утилит, веб-части, приемники событий, консольные приложения и многое другое.
Как правило, каждая веб-часть находится в отдельной DLL (одно решение и один проект на веб-часть). Наши служебные классы также были в значительной степени разделены на свои собственные отдельные библиотеки DLL (это включает в себя любые специализированные классы доступа к спискам, которые группируются с их бинами вместе в DLL). Это привело к появлению большого количества решений, которые стало сложнее поддерживать (обновляя каждое решение до Visual Studio 2008 или просто пытаясь найти лабиринт ссылок на DLL).
С моим открытием Руководства по SharePoint я переоцениваю нашу текущую структуру кода. Например, похоже, что они рекомендуют объединить все ваши специализированные классы доступа к списку в репозиторий (до сих пор мы делали все наоборот, разбивая их на библиотеки DLL в зависимости от того, для какого «решения» предназначен код).
Вопросы: Как мне организовать свой код? Как вы решаете, что входит в решение против проекта против папки или что входит в пространство имен? Одно решение для веб-части?