webentwicklung-frage-antwort-db.com.de

So halten Sie VS2015 NuGet davon ab, Pakete zu TFS hinzuzufügen

VS2013 hatte einen Fehler, bei dem NuGet Pakete als ausstehende Änderungen hinzufügte, selbst wenn Sie es mit .tfignore nicht angegeben hatten. Es gab eine Workaround , aber es funktioniert nicht mit VS2015/NuGet3, und NuGet ist wieder zu den alten Tricks. Gibt es einen "Nu" Workaround? :-)

Microsoft Connect-Element: NuGet fügt TFS trotz .tfignore Pakete hinzu

43
Edward Brey

Es sieht so aus, als wäre dies in Version 3.2 RC der NuGet Visual Studio 2015 Extension behoben - ein Update auf diese Version funktionierte zumindest für mich.

Eine Diskussion zu diesem Problem finden Sie in hier , wo ein Update von NuGet 3.1 auf 3.2 RC empfohlen wird.

Update

Version 3.2 der Erweiterung wurde nun veröffentlicht (gefunden hier ) und enthält dieses Update.

Klarstellung

Damit dies funktioniert, brauchen Sie zwei Dinge:

  1. Eine nuget.config-Datei, die die Einstellung disableSourceControlIntegration enthält
  2. Eine Version der NuGet Visual Studio 2015-Erweiterung, die die Einstellung disableSourceControlIntegration berücksichtigt (Versionen ab 3.2 sollten funktionieren)

Wie in docs angegeben:

NuGet lädt zunächst NuGet.config vom Standardspeicherort aus und lädt dann jede Datei mit dem Namen NuGet.config, beginnend mit dem Stammverzeichnis des aktuellen Laufwerks bis zum aktuellen Verzeichnis.

Dies bedeutet, dass Sie <solution><add key="disableSourceControlIntegration" value="true" /></solution> in Standard-Konfigurationsdatei für Ihr Benutzerprofil (unter %APPDATA%\NuGet\NuGet.Config) oder in der NuGet-Konfigurationsdatei in Ihrem Lösungsverzeichnis angeben können, z. B. \MySolution\.NuGet\NuGet.config.

41
nick_w

Fügen Sie in Ihrer %AppData%\NuGet\NuGet.Config-Datei unmittelbar vor dem </configuration>-XML-Tag Folgendes hinzu:.

<config>
  <add key="repositoryPath" value="C:\NuGetPackages" />
</config>
<solution>
  <add key="disableSourceControlIntegration" value="true" />
</solution>

... Sie können einen beliebigen Pfad angeben. Wichtig ist, ihn außerhalb Ihres TFS-Arbeitsbereichs zu platzieren!

Jetzt musst du dich nie wieder um das Zeug sorgen. Ihr Lösungsordner enthält keine Pakete mehr. Alle Lösungen verwenden stattdessen standardmäßig den Speicherort Ihrer benutzerdefinierten Pakete.

HINWEIS - Dies funktioniert auf Benutzerbasis.

Bisher habe ich dasselbe in einer One-Config-Per-Solution (\.nuget\NuGet.Config) Weise gemacht. Danke an @dsghi für die Einsicht!

Stellen Sie sicher, dass Ihr Lösungsordner keinen .nuget-Ordner enthält (alte Vorgehensweise). Selbst wenn der Ordner NICHT in der Lösung enthalten ist und nur im Dateisystem enthalten ist, wird er alles außer Kraft setzen!

5
Heliac

Ich habe das gleiche Problem und habe noch keine echte Lösung gefunden.

Die einzige Lösung, die ich bisher gefunden habe, ist:

  • Klicken Sie mit der rechten Maustaste auf den Paketordner in "Team Explorer - Ausstehende Änderungen" Und wählen Sie "Rückgängig machen".
0
Drol