Проблема с большими решениями и сервисной фабрикой

Моя команда разрабатывает службы WCF в Visual Studio 2008 SP1 с выпуском Service Factory Modeling Edition. Проблема в том, что нам нужно разработать так много сервисов, и мы поместили все в одно и то же решение.

Спустя 250 проектов решение почти не загружается, и добавить его практически невозможно. Мы подумали, что было бы неплохо разделить каждую службу на отдельное решение, но фабрика служб эффективно не позволяет нам это сделать.

Мы генерируем код из нашего модельного проекта в другие наши проекты, но если мы попытаемся использовать несколько решений, мы не сможем ссылаться на модельный проект, потому что он не может поддерживать сопоставления проекта, необходимые для создания в нужном месте. И мы используем пару контрактов с общими данными в нашем модельном проекте, поэтому разделение модельного проекта также не имеет смысла.

У нас сейчас так много проектов, что мы не можем повернуть назад и не использовать метод фабрики сервисов для выполнения всего.

Что нам делать?


person Dan    schedule 20.03.2009    source источник


Ответы (3)


На этом этапе вы должны разбить свои 250 проектов на группы и создать решение для каждого из них. Я рекомендую использовать ~ 25 проектов на решение. Используйте эти мини-решения для повседневного редактирования.

По-прежнему можно выполнить полную сборку общего решения с помощью msbuild и командной строки. Но VS не предназначался для одновременной обработки такого количества проектов.

person JaredPar    schedule 20.03.2009
comment
Как я объясняю в вопросе, фабрика услуг не позволяет нам разбивать проекты на различные решения. Вы знаете способ обойти эту проблему? - person Dan; 20.03.2009

Я удивлен, что ты это говоришь. Я использовал Service Factory на своей предыдущей работе, и мы создали отдельное решение для каждого набора услуг. В каждом решении мы создали одну или несколько моделей в проекте модели.

Я рекомендую вам поэкспериментировать, создав пару новых решений SF, добавив пару моделей и сгенерировав код. Посмотрите, не вызывает ли это каких-либо проблем.

Обсуждали ли вы это или создавали проблему на CodePlex?

person John Saunders    schedule 21.03.2009

Я согласен с Джоном Сондерсом. Держите их маленькими. Кроме того, держите среду непрерывной интеграции включенной, чтобы отслеживать ваши ошибки во время разработки.

person Donn Felker    schedule 04.05.2009