Я отвечаю за разработку и обслуживание набора общих сборочных сборок, которые используются для создания наших прикладных программ. Эти сборки являются относительно новыми и в состоянии изменения, когда внедряются новые функции и т. Д. В результате их нетрудно перестроить и перераспределить несколько раз. Я бы ожидал, что это уменьшится, поскольку сборки будут стабилизированы, но это то, что сегодня.Как ссылаться на общие сборки, которые все еще находятся в разработке (.NET)
В настоящее время сборки помещаются в общую папку, где проекты разработки могут ссылаться на одни и те же сборки. Применение обновлений так же просто, как замена файлов, а проекты разработки автоматически подбирают изменения при следующем их загрузке и построении.
Проблема заключается в том, что у нас может быть несколько «слоев» сборок, построенных на основе фреймворка - например, у нас есть библиотека Core, общая для всех приложений и библиотека сервера, которая ссылается на Core и используется всем приложением Server , Все зависимостей также необходимо перестраивать каждый раз, когда сборки фреймов обновляются, что делает эту задачу очень большой. Я не верю, что могу использовать GAC, потому что это потребует, чтобы все разработчики обновляли свои системы каждый раз, когда выпускается новая версия.
Я исследовал политики издателя, но есть некоторые сомнения, что это будет решить мою проблему для нескольких причин:
С одной стороны, я не хочу, чтобы воссоздать файл каждый раз, когда я восстановить мой рамки сборки - есть ли способ автоматизировать этот процесс?
Мне непонятно, требуется ли сборку в GAC. Как я уже сказал, я не хочу, чтобы мои разработчики переустанавливали, обновляли и т. Д. Каждый раз, когда мы выпускаем новую версию сборок.
У меня нет никакого контроля над настройкой и настройкой сети, поэтому необходимо избегать всей проблемы «доверия», поместив файлы в общий сетевой ресурс. Кроме того, многие из наших разработчиков работают по-разному, и мы хотим, чтобы файлы были доступны для них при отключении.
Целью было бы сделать обновление этих сборок прозрачным для разработчиков приложений, которые их потребляют. Мы, без сомнения, установим эти сборки в GAC на целевой машине, когда приложение будет установлено, но мы не хотим делать это для целей разработки. Также не разумно включать проекты в решение каждого приложения, потому что они разрабатываются различными командами.
Я не могу себе представить, что я один в этих требованиях и надеюсь, что кто-то может поделиться своим опытом и мудростью, чтобы направлять меня к решению. Благодаря!
Ознакомьтесь с http://stackoverflow.com/questions/tagged/continuous-integration – TrueWill
Да, CI делает это легко. –