Создание пакетов nuget для фреймворковых проектов

У нас есть более 70 проектов для нашей платформы, и мы хотели бы создать пакеты nuget для всех из них. Для этого мы определили иерархию зависимостей этих 70 проектов и обнаружили, что у нас есть ссылки на 4 уровня вниз между проектами.

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

  1. Но когда мы переходим на второй уровень, мы сталкиваемся с проблемой, потому что проекты уровня 2 будут ссылаться на пакеты проекта уровня 1, и нас смущает, что пакеты уровня 2 должны включать двоичные файлы уровня 1 или они просто должны иметь их как зависимости в nuspec. файл, поэтому, когда пакеты уровня 2 устанавливались, зависимости уровня 1 также устанавливались в потребительских приложениях.

Любая помощь могла бы быть полезна.


person classic_vmk    schedule 04.03.2016    source источник


Ответы (1)


Ваш уровень 2 не должен содержать двоичные файлы уровня 1, только зависимости в файле nuspec/project.json.

Примером может служить пакет System.Net.Http (или практически любой пакет NuGet). действительно пакет). Он зависит от нескольких других пакетов (System.IO, System.Runtime и т. д.), но не включает их в файл nupkg — вы можете открыть файл для проверки самостоятельно.

person Damien Dennehy    schedule 05.03.2016
comment
Еще один аргумент в пользу того, чтобы не включать какие-либо зависимости, заключается в том, что вы можете обновлять их отдельно. - person t3chb0t; 05.03.2016