2014-11-19 4 views
6

В настоящее время я разрабатываю набор библиотек, которые постепенно добавляют дополнительные функции.Обновление зависимостей перед выпуском с использованием 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 той же версии?

+0

мне было интересно, если вы решили эту проблему? Если бы вы это сделали, я хотел бы услышать об этом. –

ответ

0

Опция IncludeReferencedProjects, похоже, вытаскивает версию из сборникаinfo.cs ссылочного проекта.

Установка атрибута AssemblyInformationalVersion в желаемую версию пакета nuget, похоже, работает так, как вы этого хотите.

например [assembly: AssemblyInformationalVersion("1.1.0-alpha0001")]

Смежные вопросы