Версии Nuget/Assembly - Нужно ли увеличивать версию, даже если ничего не изменилось?

У меня есть решение с парой проектов, и каждый проект построен на сервере TFS и упакован в отдельный пакет Nuget.

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

  1. Должен ли я создать новую версию пакета, даже если в этом конкретном проекте ничего не изменилось?

  2. Есть ли какой-нибудь инструмент или статья, которая помогла бы мне опубликовать новые пакеты, только если реальный проект (или, возможно, одна из его зависимостей) изменился? Кто-нибудь делал это?

РЕДАКТИРОВАТЬ:

В моем решении у меня есть проекты ( * форматproject(references) -> Package Name):

  • A -> PackageA
  • B(A) -> Пакет B(Пакет A)
  • C -> PackageC
  • IntegrationTest (A, B, C)

и общий version.txt.

когда я изменяю сборку проекта C на сервере сборки, все пакеты перепаковываются с файлом version.txt на сервере сборки и публикуются.

Тогда у меня есть другое решение, которое потребляет эти пакеты.

1 ответ

Поскольку вы не можете думать, вы сможете упаковать другие проекты, когда вы хотите упаковать один из них:

Можете ли вы подумать, что каждый раз, когда вы захотите создать nuget конкретного проекта, другие проекты тоже будут готовы к упаковке? Или, может быть, будет начата разработка других проектов. - Пауло Суассуна 55 минут назад

нет, я не могу это рассмотреть - Liero 18 минут назад

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

Вы хотите дополнить проект B новым проектом:

  • Вы регистрируетесь изменения в B
  • Некоторая плохая регистрация попадает в
  • Вы строите свое решение на своем сервере сборки
  • сборка пакетов плохой нюгет для А
  • Ваш пакет B NuGet будет ссылаться на ошибочный пакет A NuGet.

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

Вы хотите дополнить проект B новым проектом:

  • Вы регистрируете изменение в B (B ссылается на стабильный пакет Nuget 1.0 A)
  • Некоторая плохая регистрация попадает в
  • Вы строите свое решение на своем сервере сборки
  • Сборка пакетов нового B с зависимостью A.1.0.nupkg (не имеет значения, если последний A имеет плохую регистрацию)
  • В итоге у вас хороший пакет B NuGet.

Вы можете хранить все проекты в рамках одного решения, но не забудьте изменить ссылку между ними как ссылку NuGet.

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