Как предоставить неразвернутые зависимости сервису сборки?

Несколько раз назад я задавал вопрос о том, как интегрировать приложение, используя зависимости на сервере сборки, и у меня были вполне удовлетворительные ответы. Сегодня я сталкиваюсь с другим случаем. Для проекта я должен использовать нераспространяемые зависимости (объектная модель RDL для SSRS). Это означает, что готовые сборки не предназначены для развертывания в целях разработки. Но как-то мне нужно...

Моим первым предположением было опубликовать их в GAC. Хорошо, это сработало, и сервер сборки смог скомпилировать проект без проблем. Но потом я понял, что это сломало некоторые приложения, такие как сервер отчетов и построитель отчетов (возможно, это также сломало бы BIDS). Поэтому публикация в GAC, безусловно, не является приличным решением.

Вторым моим предположением было проверить сборки в системе контроля версий. Ну, это могло бы работать, если бы у меня было только 2 сборки на сумму около 1 МБ. Но здесь нужно проверить 23 сборки и 29 МБ, так что это точно тоже не подходит.

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

2 ответа

Решение

Как некоторые люди заявили в комментариях, мы, наконец, решили установить контроль над сборками.

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

Сборки будут контролироваться источником, если все эти критерии будут выполнены:

  • Сборки /Framework не могут быть развернуты / распространяемы
  • Развертывание сборок / инфраструктуры может повлиять на стабильность работы локальных машин
  • Общий объем развернутых сборок в коллекции проектов не превышает 100 МБ.

Вы можете попробовать использовать другое хранилище только для этих сборок и выполнить извлечение / обновление во время задания сборки.

Также, если вы хотите сохранить его в основном репо, вы можете использовать svn:externals (http://svnbook.red-bean.com/en/1.0/ch07s03.html) для автоматического обновления DLL при обновлении. ваша рабочая копия.

Другие вопросы по тегам