Как автоматически обновить зависимости пакета nuget?
У меня есть два пакета \ проекта "A" и "B". Где "B" зависит от "A" и используйте его в качестве ссылки. Когда мой процесс сборки в TFS собирает "A", он создает пакет nuget из nuspec, дает ему новую версию и помещает его в мои частные пакеты TFS.
Моя проблема заключается в создании четко определенного пакета "B" в каждой сборке "B". В файле "B.nuspec" я записываю версию текущего пакета "A":
<dependencies>
<group targetFramework=".NETFramework4.5">
<dependency id="A" version="[1.0.0.3]" />
</group>
</dependencies>
Когда я создаю новый пакет "A", я обновляю проект "B", чтобы использовать новый выпуск "A" -> это также обновляет "packages.config" последней версией "A", как и ожидалось. Проблема состоит в том, что процесс сборки "B" создает пакет "B" из файла nuspec со старой зависимостью "A". И я хочу, чтобы он использовал версию "A" из "packages.config".
Есть ли автоматический способ сделать это? (без изменения вручную файла nuspec каждой новой версии "A") Я подумал о создании небольшого процесса "Пост-сборка", который считывает версию из B-> packages.config и записывает ее в "B.nuspec". файл в разделе "A" зависимости. TFS поддерживает это более простым способом?
2 ответа
Я добавил новое событие после сборки, которое запускает скрипт, который берет версию из файла "packages.config" и записывает их обратно в файл nuspec.
Я загружаю скрипт и событие пост-сборки в свой GIT для всех, кому это нужно.
Этот вопрос похож на автоматическое обновление пакетов NuGet во время сборки. Невозможно автоматически обновить пакет NuGet до последней версии во время сборки
Вам нужно добавить новый шаг сборки (например, сценарий powershell) в определение процесса сборки / сборки, чтобы достичь этого.