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
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:
nuget.config
-Datei, die die Einstellung disableSourceControlIntegration
enthältdisableSourceControlIntegration
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
.
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!
Ich habe das gleiche Problem und habe noch keine echte Lösung gefunden.
Die einzige Lösung, die ich bisher gefunden habe, ist: