2012-04-24 7 views
5

Ich habe einige Bibliotheken zu einer VS 2010-Lösung mit Nuget (RestSharp, Twilio usw.) hinzugefügt. Wenn ich dieselbe Lösung von TFS auf einen neuen PC herunterlade und versuche, sie zu erstellen, sind alle Referenzen auf diese Assemblys unterbrochen (Fehler "Namespace kann nicht gefunden werden ..."). Ist es für jeden Entwickler, der an dieser VS-Lösung arbeitet, notwendig, die gleichen Nuget-Pakete zum ersten Mal auf seinen PCs zu installieren? Danke, JimMüssen Nuget-Pakete von jedem Entwickler hinzugefügt werden, der an demselben VS-Projekt arbeitet?

Antwort

2

Nein, aber Sie müssen sicherstellen, dass die Assemblys alle in demselben relativen Pfad enthalten sind, damit Visual Studio sie finden kann. Sie können die nuget-Paketverzeichnisse der Lösung einschließen, wo ich denke, dass sie eine Kopie der Bibliotheken speichert, auf die von den Projekten verwiesen wird.

Übrigens, einschließlich der besagten Verzeichnisse kann effektiv das gleiche wie "Installieren der Pakete" sein. Wenn Sie alle Dateien einbeziehen, die NuGet bei der Verwaltung von Paketen verwendet, verhält sich NuGet genauso, als ob Sie sie installiert hätten. Aber Sie müssen die eigentliche Paketinstallation nicht über NuGet machen, damit es funktioniert ... oder sogar NuGet in Visual Studio installiert haben. Es ist nur eine Frage der richtigen Dateien, wo die Visual Studio-Projektdateien sie erwarten.

5

Wie Andrew schon gesagt hat, dreht sich alles um den Standort der Pakete.

Entweder müssen Sie den gesamten Paketordner mit allen Paketen einchecken, oder jeder Entwickler muss die Pakete nach dem ersten Auschecken installieren. Aber es gibt einen besseren Weg, dies zu tun, nämlich use NuGet Package Restore - das wird automatisch alle fehlenden Pakete installieren, wenn das Projekt erstellt wird.

Wenn Sie die Paketwiederherstellung verwenden, müssen Sie nur die Repositories.config in Ihr VCS einchecken. Mit TFS können Sie cloak the entire packages folder mit Ausnahme der Repositories.config, so dass TFS nicht mit ausstehenden Checkins für neue Pakete ärgern.

Weitere Informationen zur Verwendung von TFS + NuGet finden Sie unter this answer.

+0

Dies ist eine gute Antwort, vor allem in Anbetracht der zusätzlichen Informationen im Zusammenhang mit TFS, die ich nie benutzt habe. –

Verwandte Themen