Автоматическое распространение изменений из родительских в зависимые пользовательские пакеты NuGet с помощью TeamCity - PullRequest
0 голосов
/ 22 апреля 2019

Моя компания использует встроенный репозиторий TeamCity NuGet для создания пользовательских пакетов NuGet, которые часто зависят друг от друга. Когда я, скажем, обновляю страницу .cs в настраиваемом родительском пакете, я хотел бы, чтобы эти изменения распространялись на все наши пакеты, которые являются зависимыми пакетами родительского пакета - я полагаю, что я могу сделать это с помощью установщика NuGet для «обновления». пакеты».

Я опасаюсь, что хотя я знаю, что могу навязать это обновление всем нашим пакетам, я хочу найти способ исключить все, что не размещено в репо нашей компании (что также должно означать все, что размещено на NuGet .org repo), поэтому все, что мы используем из внешнего источника, не будет включено в это обновление NuGet.

Предпочтительно, я хотел бы знать, есть ли способ справиться с этим в нашем .nuspec для каждого из наших пакетов (хотя кажется, что подстановочные знаки этого не делают). Любое понимание моей проблемы здесь?

1 Ответ

0 голосов
/ 23 апреля 2019

Честно говоря, звучит так, будто вы пытаетесь воссоздать эталонную версию проекта с помощью пакетов NuGet. Если это вообще разумно, возможно, лучшим вариантом будет объединение всех проектов в одном решении и использование ссылок на проекты.

Если вы можете перенести свои проекты в проекты в стиле SDK (используются .NET Core, но все еще можете ориентироваться на .NET Framework), тогда вы можете использовать dotnet list package или dotnet-outdated. dotnet list package --outdated имеет возможность указать список источников для использования. Возможно, если вы укажете только свой личный канал, он сможет искать только этот. В противном случае сценарий, который вы создадите, чтобы сделать все это, должен будет перезаписать файл nuget.config, чтобы удалить другие источники (например, nuget.org) при запуске команды для получения желаемого результата. Затем вы анализируете вывод и, когда он находит обновление, он изменяет соответствующий файл (ы).

...