Я был на презентации по использованию Endeavor . Одним из понятий, от которых они сильно зависели, было разделение, как вы предлагаете:
- сервис в отдельном решении с собственным жгутом для испытаний
Endeavour является в двух словах мощной средой разработки / плагином для VS, который помогает архивировать эти вещи. Среди множества других вещей он также подключается к / создает ночную сборку из SourceSafe, чтобы определить, какие библиотеки собирают и помещает их в общую папку.
Когда вы создаете код, который зависит от другого сервиса, вы ссылаетесь не на проект VS, а на скомпилированную DLL в общей папке.
Благодаря этому устраняются некоторые недостатки, предложенные KLE:
- Проекты в зависимости от вашего кода ссылаются на DLL, а не на ваш проект (выигрыш времени сборки)
- Когда ваш проект не удастся построить, он не нарушит интеграцию; они зависят от DLL, которая все еще доступна из последней работающей сборки
- Все классы видимы - нет
Средний этаж:
- Вы ДЕЙСТВИТЕЛЬНО должны думать о зависимости, более чем о «простых» установках.
- Еще стоит время
Но, конечно, есть и обратная сторона:
- Нелегко обнаружить циклическую зависимость
В настоящее время я нахожусь в процессе размышления о том, как использовать преимущества этой установки без полноценной установки Endeavour, потому что это довольно массивный продукт, который действительно очень много (что вам не всем нужно).