2016-09-13 15 views
7

Mamy kilka pakietów NuGet na naszym lokalnym serwerze TeamCity i używamy ich w różnych projektach. Właśnie wróciłem z wakacji, chwyciłem najnowszy kod źródłowy i próbowałem go odbudować, aby uzyskać stos błędów kompilacji z powodu braku biblioteki DLL.Visual Studio nie pobiera DLL dla pakietu NuGet

Wygląda na to, że biblioteka DLL dla jednego z naszych pakietów nie została pobrana z NuGet. Próbowałem uruchomić nowy projekt WPF i dodać trzy pakiety. Wszystkie trzy pojawiają się w pliku packages.config, ale tylko dwa z nich mają pobrane biblioteki DLL. Trzeci ma tylko pobrany plik * .pdb.

Nikt inny w zespole nie ma tego problemu, a ja wypróbowałem go na mojej zapasowej maszynie i został pobrany poprawnie, więc wygląda na to, że jest to problem z moją maszyną, instalacją Visual Studio lub NuGet. Jednak, ponieważ mogę pobrać inne pakiety z tego samego źródła bez problemu, nie wygląda to na globalny problem z VS lub NuGet.

Zdaję sobie sprawę, że nie ma wiele do zrobienia, ale nie wiem, co jeszcze mogę ci powiedzieć. Jeśli ktokolwiek może coś zasugerować, byłbym bardzo wdzięczny. Ponieważ źródło pakietu jest nasze, niestety nie mogę tego udostępnić.

Używam Visual Studio Enterprise 2015 Update 3 (kompilacja 14.0.25424.00) z menedżerem pakietów NuGet w wersji 3.4.4.1321 na 64-bitowym Windows 10 Pro (wersja 1607, kompilacja 14393.105). Jeśli jest coś jeszcze, co mogę dodać, daj mi znać.

+0

Spróbuj wyczyścić pamięć podręczną lokalnego pakietu: 'nuget.exe locals all -clear' – jessehouwing

+0

@jessehouwing Pojawia się błąd" Nieznane polecenie "mieszkańców" - jakieś pomysły? Otworzyłem wiersz polecenia w folderze .nugget mojego rozwiązania, aby uruchomić to. Dzięki – DreamingOfSleep

+0

@jessehouwing Również nowy projekt WPF, który wypróbowałem, nie ma folderu .nuget, więc jak mam uruchomić nugget.exe dla tego rozwiązania? Jeszcze raz dziękuję – DreamingOfSleep

Odpowiedz

11

Wysyłanie tego jako odpowiedź, aby inni mogli ją znaleźć, nawet jeśli wydaje się, że znalazłeś odpowiedź samemu. Przeszedłem przez ten problem, więc poznaj swój problem.

Najpierw zamknij wszystkie wystąpienia programu Visual Studio. Zasadniczo jest to dobry pomysł, gdy robi się coś poza VS, co wpływa na to, co myśli VS.

Jak widzieliście, aby wyczyścić pamięć podręczną, należy użyć wersji nuget w wierszu poleceń. Twoim pierwszym problemem jest znalezienie tego, ponieważ nie jest to oczywiste. Twoim drugim problemem (jeśli go szukasz) jest to, że znajdziesz ich wiele, jeden w folderze .nuget w każdym rozwiązaniu.

Najprostszym sposobem obejścia tego jest download the latest nuget.exe z ich strony internetowej. Zapisz go gdzieś z dala od projektów na wypadek, gdybyś potrzebował go ponownie.

W tym momencie nie będzie można uruchomić polecenia, aby wyczyścić pamięć podręczną, ponieważ najpierw trzeba zaktualizować aplikację nuget. Zgadzam się, że to wydaje się dziwne, zważywszy, że właśnie pobrać najnowszy, ale musisz zrobić następujące ...

nuget update -self 

Gdy już to zrobisz, możesz wyczyścić pamięć podręczną jako jessehouwing mentioned ...

nuget.exe locals all -clear 

Po następnym uruchomieniu Visual Studio powinieneś stwierdzić, że wszystko działa zgodnie z oczekiwaniami. Może być konieczne odinstalowanie i ponowne zainstalowanie pakietów, aby wszystko działało, ale z wyczyszczoną pamięcią podręczną, która powinna działać bez problemu.

Mam nadzieję, że wszystko jasne.

+1

Dzięki za wysłanie tego – DreamingOfSleep

Powiązane problemy