Mój zespół używa opcji Włącz przywracanie pakietu od wersji Nuget 1.5, aby utrzymać pakiety poza naszą kontrolą źródła. Kiedy wydano Nuget 1.6, zauważyliśmy problem polegający na tym, że nie ściągał pakietów, i wyśledziliśmy go do pliku Nuget.exe w folderze .nuget, który wymagał aktualizacji do wersji 1.6, aby dopasować się do Menedżera pakietów.
Jaki jest najlepszy sposób aktualizacji rozwiązania po zaktualizowaniu Nuget? Nie widzę łatwego sposobu ze studia, aby stwierdzić, która wersja nuget znajduje się w folderze rozwiązania. Jak dotąd usuwamy folder .nuget i ponownie uruchamiamy polecenie Włącz przywracanie pakietu.
Najlepszym sposobem na rozwiązanie tego problemu jest po prostu usunięcie folderu .nuget i ponowne włączenie funkcji przywracania całego pakietu. Jak wspomniano powyżej, możesz dodać polecenie samoaktualizacji do kompilacji, ale nie zaktualizuje to elementów docelowych ani plików konfiguracyjnych, jeśli wystąpią zmiany między wersjami (lub usuniesz odwołanie z rozwiązania). Być może to nie jest taka wielka sprawa, ale jest to pewny sposób, aby upewnić się, że masz najnowsze pliki exe i konfiguracyjne. Ostatecznie aktualizacja jest problemem tylko wtedy, gdy potrzebujesz dostępu do nowego polecenia lub w końcu nastąpi poważna zmiana w nowej wersji.
źródło
NuGet.exe
, jak również wNuGet.targets
pliku (który jest również ważne). Po prostu upewnij się, że zapisałeś wszelkie dostosowania, które wprowadziłeś wNuGet.targets
pliku (np. Niestandardowe źródła PackageSources), aby móc ponownie zastosować je do nowego pliku.Zobacz post Davida Ebbo na jego blogu
Zasadniczo wszystko, co musisz zrobić, to utworzyć plik NuGet.Config obok pliku .sln, zawierający:
źródło