Ich arbeite an einem großen C# -Projekt mit anderen Teammitgliedern. Bis jetzt war das Projekt irgendwie unorganisiert und jeder hatte seine Art, seine Umgebung für die Entwicklung in Gang zu bringen. Für ein neues Mitglied (und für zukünftige) versuche ich, unseren Entwicklungsprozess zu dokumentieren und zu verschärfen. Das Projekt wird versionskontrolliert von Git und Mitglieder verwenden VS2012, VS2015 und Monodevelop.Projekt, das nach erfolgreicher Nuget-Paketwiederherstellung keine Pakete erkennt
Die C# -Projekte in unserer C# -Lösung enthalten alle NuGet-Pakete, die sie benötigen. Ich habe in der .gitignore
Datei wie folgt vor:.
# NuGet Packages
*.nupkg
# Ignore the actual packages but not the config file for them
**/packages/**/*
!**/packages/repositories.config
# don't ignore build/, which is used as an MSBuild target.
!**/packages/build/
Also, wenn ich von einer Maschine schieben und dann auf der anderen Seite zu klonen, gehen ich mit Projekten eine Lösung enthalten sind, mit in diesen Projekten haben packages.config
-Dateien, die das ist XML-Datei, die den Namen der benötigten Pakete und Versionen enthält.
Hier ist, wo mein Problem ist
Ich habe versucht, auf einem frischen Windows 7 Maschine mit VS2015 Community Edition die repo zu klonen, was in Ordnung war. Dann gab es eine Aufforderung, die NuGet-Pakete wiederherzustellen. Ich habe das gemacht. Ich kann sehen, dass die Pakete und Versionen mit der Ansicht NuGet Paket-Managers für das Projekt von Interesse installiert sind: Aber in meinen Referenzen meines Projektes scheinen sie nicht installiert werden:
Versuchte zu isolieren Das Problem mit einem kleineren Projekt
Ich dachte, vielleicht war das seltsam, also schloss ich die Lösung und begann eine neue kleine Lösung mit einem kleinen Konsolenanwendungsprojekt. Ich habe eine alte Version von NUnit zu diesem Projekt hinzugefügt und überprüft, dass das NuGet-Paket im Verzeichnis pakcages
installiert wurde. Dann habe ich die Lösung geschlossen und das Paketverzeichnis gelöscht. Als ich die Lösung öffnete, stellte ich fest, dass das Paket nicht da war, also versuchte ich, die Wiederherstellungspakete Aktion durch den Rechtsklick auf das Paketmenü zu tun. Das hat gut funktioniert.
Also ich denke, ich muss eine andere Konfiguration in meinem großen C# -Projekt durcheinander gebracht haben. Ich weiß nicht, ob es die Pakete irgendwo anders auf meinem System installiert. Irgendwelche Hinweise darauf, wo Sie suchen sollten oder welche Konfigurationen Sie betrachten sollten, wären hilfreich und geschätzt!
(ich habe nicht dieses Problem anders gesehen, wo, in dem das Paket installiert ist offensichtlich, aber das Projekt ist noch nicht bewusst davon)
aktualisiert 2016.07.28 ich einen Blick auf den nuget.config
aufweisen, wurde Datei für die Lösung und es scheint, dass es eine Linie drin war:
<add key="repositorypath" value="External\Packages" />
Dann fand ich ein Verzeichnis in der gleichen Ebene wie meine Lösung Datei mit dem Namen External Packages
. Ich möchte anmerken, dass die Person, die diese Lösung und ihre Projekte ursprünglich festgelegt hat, nicht mehr existiert. Also habe ich dieses Verzeichnis und die Datei nuget.config
gelöscht. Ich habe VS2015 neu gestartet und die Aktion "NuGet-Pakete wiederherstellen" ausgeführt. Dies schien die Pakete wiederherzustellen und machte ein Verzeichnis namens packages
, wo sie jetzt gespeichert sind. Dies imitiert jetzt, was ich in meinem kleinen Projekt sah, wo ich versuchte, dieses Verhalten neu zu erstellen.
Aber ich renne immer noch in das Problem, wo der NuGet Package Manager sagt, dass die Pakete installiert sind, aber die 'Referenzen' zeigen sie nicht.
Also frage ich mich, gibt es eine Möglichkeit, VS zu konfigurieren, um zu sehen, wo diese Pakete für die Referenzen gespeichert sind?
Ich sehe manchmal das gleiche Problem, wenn .NET-Versionen nicht übereinstimmen. Es ist ein einfacher Check, um sicherzustellen, dass sie das tun. Ich dachte, ich würde das im Hut durchmachen. –
Ahh .. Nun, wir verwenden .NET 4.5 und Mono, um die Dinge plattformübergreifend zu betreiben. Wenn das ein Problem ist, wie wirkt sich das auf den Paketwiederherstellungsprozess aus? – Jesse
Bearbeiten Sie Ihre Frage, um Ihre .csproj-Datei mit Ihren Referenzen hinzuzufügen. –