Как ссылаться на связанные проекты в одном и том же решении, когда требуются пакеты Nuget

Мне было интересно, как лучше всего ссылаться на проект в том же решении. Вы создаете ссылку с помощью функции «Добавить ссылку» или «управляете пакетом nuget» и загружаете определенную опубликованную версию. Каждый проект, в свою очередь, приведет к созданию пакета Nuget, на который могут ссылаться другие решения.

Так что для других решений все ясно. Они создают ссылку с помощью Nuget, но как насчет ссылок на проект внутри решения?


person Guillaume Schuermans    schedule 16.06.2013    source источник


Ответы (1)


Лучший подход — создать зависимость NuGet от проекта, на который указывает ссылка.

Предположим, у вас есть два проекта в вашем решении:

Solution
    | ProjectA
    | ProjectB

ProjectA имеет ссылку на ProjectB, и оба они являются пакетами NuGet (оба имеют файлы nuspec). Если вы хотите создать пакет ProjectA, зависящий от ProjectB, выполните в корне ProjectA:

NuGet Pack -IncludeReferencedProjects

При наличии IncludeReferencedProjects NuGet будет просматривать упомянутые проекты внутри решения в поисках файлов nuspec (это указывает на то, что проект является пакетом). Если nuspec найден, он добавляется как зависимость.

В этом примере он найдет файл nuspec в ProjectB и добавит его в качестве зависимости. Когда вы устанавливаете ProjectA, ProjectB также будет установлен, и он будет добавлен в качестве ссылки.

person Murilo Giacometti    schedule 16.06.2013