6

Mi chiedevo quale sia l'approccio migliore per fare riferimento a un progetto nella stessa soluzione. Crei il riferimento utilizzando la funzione "Aggiungi riferimento" o "gestisci il pacchetto nuget" e scarichi una determinata versione pubblicata. Ogni progetto a sua volta darà come risultato un pacchetto Nuget a cui è possibile fare riferimento con altre soluzioni.Come fare riferimento a progetti correlati nella stessa soluzione quando i pacchetti Nuget sono l'output richiesto

Quindi per altre soluzioni è chiaro. Creano il riferimento usando Nuget, ma per quanto riguarda i riferimenti ai progetti di intrasolution?

risposta

9

L'approccio migliore consiste nel creare una dipendenza NuGet dal progetto di riferimento.

Supponiamo di avere due progetti nella soluzione:

Solution 
    | ProjectA 
    | ProjectB 

ProjectA ha un riferimento a ProjectB e due di loro sono pacchetti Nuget (entrambi hanno i file nuspec). Se si desidera creare un pacchetto ProjectA che dipende da ProjectB, eseguire nella radice della ProjectA:

NuGet Pack -IncludeReferencedProjects 

In presenza di IncludeReferencedProjects, NuGet attraverserà i progetti di riferimento all'interno della soluzione, alla ricerca di file nuspec (che indica che un progetto è un pacchetto). Se un nuspec viene trovato, viene aggiunto come dipendenza.

In questo esempio, troverà un file nuspec in ProjectB e lo aggiungerà come dipendenza. Quando si installa ProjectA, ProjectB verrà installato e verrà aggiunto come riferimento.