0

Ich habe kürzlich alle unsere Projekte erfolgreich auf automatische NuGet-Wiederherstellung umgestellt. Um dies zu tun, folgte ich this guide. Alles hat super geklappt, ich konnte meinen /packages Ordner löschen und nach Herzenslust wiederherstellen.NuGet Automatische Wiederherstellung und Installation von NuGets

Einer der Schritte in diesem Handbuch besagt, dass Sie Ihre .csproj Datei bearbeiten und das zugehörige Element EnsureNuGetPackageBuildImports entfernen.

Das Problem, das ich jetzt habe, ist, dass NuGet, nachdem ich in eine meiner Projektbibliotheken gegangen bin und es heruntergestuft habe, das Element EnsureNuGetPackageBuildImports automatisch wieder in meine .csproj Datei eingefügt hat.

Gibt es eine andere Einstellung, die ich ändern sollte, um NuGet davon abzuhalten? Ich würde meine .csproj Datei lieber nicht jedes Mal bearbeiten müssen, wenn ich eine NuGet-bezogene Änderung mache.

Antwort

1

Gibt es eine andere Einstellung, die ich ändern sollte, um NuGet daran zu hindern?

Ich fürchte, die Antwort ist nicht, wenn Sie eine Ihrer Projektbibliotheken ein - und herunterstufen.

Das Ziel "EnsureNuGetPackageBuildImports" wird verwendet, um sicherzustellen, dass die importierten .props oder .targets-Dateien tatsächlich auf die alte Weise "Paketwiederherstellung aktivieren" importiert werden. NuGet unterstützt NuGet MSBuild-Unterstützung seit NuGet 2.5.

Seit Nuget 2.7+ hat Microsoft die Unterstützung für die "NuGet-Paketwiederherstellung aktivieren" in VS2015 eingestellt und Sie müssen einige manuelle Änderungen vornehmen, um entweder alte Lösungen zu migrieren oder die Funktion neuen Lösungen hinzuzufügen. Die automatische Nuget-Paketwiederherstellung wurde in Nuget 2.7+ geändert. Leider sieht es wie eine nicht rückwärtskompatible Änderung aus. Wir haben einige Entwickler auf 2.7 und früher, die jetzt auf 2.7+ upgraden müssen. In diesem Fall fügt NuGet das Element EnsureNuGetPackageBuildImports automatisch in Ihre .csproj-Datei zurück, wenn Sie eine Ihrer Projektbibliotheken öffnen oder herunterstufen.

Um dies zu beheben, raten wir Ihnen, dass Sie "alte" und neue Methoden für die automatische Paketwiederherstellung nicht mischen (Entfernen Sie diese Dateien, wenn Sie automatische Paketwiederherstellung verwenden).

Außerdem, wenn in zu gehen und eines Ihrer Projekte Herabstufung Bibliotheken unvermeidbar ist, gibt es eine PS-Skript Sie es entfernen helfen kann bequemer: DisableNuGetPackageRestore.ps1

Verwandte Themen