6

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

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

ответ

9

Лучшим подходом является создание зависимости NuGet от указанного проекта.

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

Solution 
    | ProjectA 
    | ProjectB 

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

NuGet Pack -IncludeReferencedProjects 

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

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

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