В настоящее время я разрабатываю набор библиотек, которые постепенно добавляют дополнительные функции.Обновление зависимостей перед выпуском с использованием nuget
К примеру, в моем решении, у меня есть Foo
проект, который определяет некоторые основной набор функций, дополнительный проект, Foo.Web
, для веб конкретных реализаций и Foo.Web.Tokens
для еще более специфических особенностей. Foo.Web.Tokens
зависит от Foo.Web
которое зависит от Foo
.
Я пытаюсь построить отдельные проекты nuget, поэтому пользователю нужно только ссылаться на те зависимости, которые им нужны. Я запускаю версии сборок с помощью GitVersionTask, поэтому после сборки все они получают одинаковый номер версии, и я использую токены замены для nuget при построении from a project, так что пакеты nuget имеют одинаковый номер версии.
Моя проблема в том, что при попытке ссылки на предварительную версию Foo.Web
или Foo.Web.Tokens
nuget не может разрешить зависимость от Foo
. Если, например, я опубликовал 1.1.0.0-alhpa0001
пакет для каждого из узлов, когда я пытаюсь обновить Foo.Web
, NuGet показывает эту ошибку:
Install-Package : Unable to resolve dependency 'Foo (≥ 1.1.0.0)'.
Использование -Pre
аргумента ничего не меняет. Foo.1.1.0-alpha0001.nupkg
существует, но я чувствую, что NuGet не разрешит, потому что это не стабильная версия, и я позволяю NuGet автоматически обнаруживать зависимости от решения, используя следующую команду:
.\.nuget\NuGet.exe pack source/Foo.Web/Foo.Web.csproj -Build -Version 1.1.0.0-alpha0001 -symbols -IncludeReferencedProjects
Как Я правильно разрешаю ссылку на предварительный пакет Foo.Web
с предварительным пакетом Foo
той же версии?
мне было интересно, если вы решили эту проблему? Если бы вы это сделали, я хотел бы услышать об этом. –