6

Ich habe mich gefragt, was der beste Ansatz ist, um ein Projekt in derselben Lösung zu referenzieren. Erstellen Sie die Referenz mit der Funktion "Referenz hinzufügen" oder verwalten Sie das nugget-Paket und laden Sie eine bestimmte veröffentlichte Version herunter. Jedes Projekt wird seinerseits ein Nuget-Paket ergeben, auf das andere Lösungen verweisen können.Wie auf verwandte Projekte in der gleichen Lösung verwiesen wird, wenn Nuget-Pakete die erforderliche Ausgabe sind

So für andere Lösungen ist es klar. Sie erstellen die Referenz mit Nuget, aber wie steht es mit den Projektreferenzen für die Intersolution?

Antwort

9

Der beste Ansatz besteht darin, eine NuGet-Abhängigkeit vom referenzierten Projekt zu erstellen.

Angenommen, Sie zwei Projekte in Ihrer Lösung haben:

Solution 
    | ProjectA 
    | ProjectB 

ProjectA einen Verweis auf ProjectB hat und beide sind NuGet Pakete (beide haben nuspec-Dateien). Wenn Sie ein Paket ProjectA erstellen möchten, die auf ProjectB hängt, führen in der Wurzel von ProjectA:

NuGet Pack -IncludeReferencedProjects 

In Anwesenheit von IncludeReferencedProjects wird NuGet die referenzierten Projekte in der Lösung durchqueren, für nuspec Dateien suchen (das anzeigt, dass ein Projekt ein Paket ist). Wenn ein nuspec gefunden wird, wird es als Abhängigkeit hinzugefügt.

In diesem Beispiel wird eine Nuspec-Datei in ProjectB gefunden und als Abhängigkeit hinzugefügt. Wenn Sie ProjectA installieren, wird auch ProjectB installiert und als Referenz hinzugefügt.