Próbuję użyć nopCommerce (który jest napisany w .NET Core), ale kiedy chcę uruchomić projekt, napotykam 52 błędy, które mówią mi: Uruchom przywracanie pakietu nuget
Plik zasobów ~ \ obj \ project. resources.json nie znaleziono. Uruchom przywracanie pakietu NuGet, aby wygenerować ten plik. Nop.Web.MVC.Testsote
po kliknięciu rozwiązania prawym przyciskiem myszy i wybraniu opcji Przywróć pakiety Nuget pojawia się następujący komunikat:
Wszystkie pakiety są już zainstalowane i nie ma nic do przywrócenia.
ale te 52 błędy są nadal obecne, aw Narzędziach -> Menedżer pakietów NuGet -> Zarządzaj pakietami NuGet dla rozwiązania nie ma nic zainstalowanego w rozwiązaniu, również Ostatnio zaktualizowałem VS2017 do wersji 15.5.4
nuget
visual-studio-2017
.net-core
nuget-package-restore
Nigdy nie ufaj
źródło
źródło
Odpowiedzi:
Aby naprawić ten błąd w menu Narzędzia> Menedżer pakietów NuGet> Konsola Menedżera pakietów wystarczy uruchomić:
Błąd występuje, ponieważ cli dotnet nie tworzy początkowo wszystkich wymaganych plików. Wykonanie przywracania dotnet dodaje wymagane pliki.
źródło
dotnet restore solutionfilename.sln
W moim przypadku błędem było repozytorium GIT. W nazwie były spacje, co uniemożliwia przywrócenie mojego projektu
Jeśli to jest twój problem, po prostu zmień nazwę repozytorium GIT podczas klonowania
źródło
W przypadku, gdy funkcja „przywracania dotnet” nie działa, pomocne mogą być następujące kroki:
źródło
dotnet restore
zadziałało.Zamykanie i ponowne otwieranie Visual Studio rozwiązało dla mnie ten problem, gdy upewniłem się, że pakiety NuGet zostały przywrócone zgodnie z innymi odpowiedziami zamieszczonymi tutaj.
źródło
get
abuild
i nie wolno otwierać VS. Wiem, dlaczego działa z VS - ponieważ VS automatycznie rozwiązuje zależności projektu.Do osób z tym samym problemem co ja w środowisku Azure DevOps / VSTS napotykają podobny komunikat:
C:\Program Files\dotnet\sdk\2.2.104\Sdks\Microsoft.NET.Sdk\targets\Microsoft.PackageDependencyResolution.targets(208,5): Error NETSDK1004: Assets file '...\obj\project.assets.json' not found. Run a NuGet package restore to generate this file
Dodaj
/t:Restore
do argumentów MSBuild w Build Build.źródło
Dla mnie, kiedy to zrobiłem - błąd przywracania nadal występował.
Poszłam do
rozwiązane problemy.
źródło
W Visual Studio 2017 wykonaj następujące czynności:
1) wybierz Narzędzie => Opcje => Menedżer pakietów NuGet => Źródła pakietów, a następnie odznacz opcję Pakiety offline programu Microsoft Visual Studio .
2) teraz otwórz Tool => NuGet Package Maneger => Konsola menedżera pakietów. 3) wykonaj polecenie w PM> przywracanie dotnet.
Mam nadzieję, że działa ...
źródło
Dla mnie zaktualizowałem NuGet.exe z 3.4 do 4.9, ponieważ 3.4 nie rozumie, jak przywrócić pakiety dla .NET Core.
Aby uzyskać szczegółowe informacje, zobacz przywracanie dotnet vs. przywracanie nuget w teamcity
źródło
.csproj
formatu projektu.Wybierz Narzędzia > NuGet Package Manager > Konsola Menedżera pakietów
A następnie Uruchom:
źródło
trochę za późno na odpowiedź, ale wydaje się, że przyniesie to wartość dodaną. Patrząc na błąd - wydaje się, że występuje w potoku CI / CD.
Wystarczy uruchomienie „kompilacji dotnet”.
kompilacja dotnet domyślnie uruchamia „przywracanie”.
źródło
Nic powyżej nie działało dla mnie. Ale wystarczy usunąć wszystkie foldery „bin” i „obj”.
źródło
Rozwiązany przez dodanie / t: Restore; Build do MSBuild Arguments
źródło
Korzystając z VSTS, sprawdź plik global.json. Wprowadziłem wersję sdk jako „2.2”, co spowodowało błąd analizy (ale nie przy budowaniu lokalnym). Dodanie pełnej wersji „2.2.104” rozwiązało problem.
źródło
Straciłem kilka godzin na tym błędzie w Azure DevOps, kiedy ustawiłem zadanie „Visual Studio Build” w potoku kompilacji, aby zbudować indywidualny projekt w moim rozwiązaniu, a nie całe rozwiązanie.
To oznacza, że DevOps albo nie buduje żadnego (lub być może niektórych, nie jestem pewien, który) z projektów, do których odwołuje się projekt, na który celowałeś, i dlatego te projekty nie będą miały swojego projektu.json Wygenerowano pliki .asset, co powoduje ten problem.
Rozwiązaniem było dla mnie przejście z zadania VS Build na zadanie MSBuild. Użycie zadania MSBuild dla pojedynczego projektu poprawnie buduje wszystkie projekty, do których odwołuje się projekt, który budujesz i eliminuje ten błąd.
źródło
Jeśli zwykłe przywracanie pakietów NuGet nie działa, upewnij się w menu Narzędzia -> Opcje -> Menedżer pakietów NuGet -> Ogólne w obszarze Przywracanie pakietów pakietów zaznaczono opcję „Zezwól NuGet na pobieranie brakujących pakietów”.
Następnie przywróć pakiety NuGet ponownie LUB po prostu ODBUDUJ po usunięciu folderów obj i bin.
źródło
Jeśli @ mostafa-bouzari sugestia nie pomoże, należy dokładnie sprawdzić w „Lista błędów” lub „wyjście” oknami błędów dlaczego Nuget nie można przywrócić, na przykład z powodu problemu netto, jeśli jesteś za pełnomocnika.
źródło
Ten problem występuje, gdy narzędzie do kompilacji nie jest ustawione
restore
w projektach, które mają być używane wPackageReference
porównaniu zpackages.config
Net Core i nowymi stylami Netstandard.Po otwarciu programu Visual Studio i kompilacji rozwiązuje to za Ciebie. Ale jeśli używasz automatyzacji, narzędzi CLI, widzisz ten problem.
Wiele rozwiązań jest tutaj oferowanych. Ale wszystko, co musisz pamiętać, musisz wymusić
restore
. W niektórych przypadkach używaszdotnet restore
przed kompilacją. Jeśli budujesz używając MsBuild, po prostu dodaj/t:Restore
przełącznik do swojego polecenia.Podsumowując, musisz dowiedzieć się, dlaczego nie można aktywować przywracania. Nieprawidłowe źródło lub brak działania przywracania albo nieaktualny plik nuget.exe lub wszystkie powyższe.
źródło
Bardzo dziwne doświadczenie, które spotkałem!
Sklonowałem wcześniej za pomocą GIT bash i GIT cmd-Line, napotkałem powyższe problemy.
Później sklonowałem za pomocą Tortoise-GIT i wszystko działało zgodnie z oczekiwaniami.
Być może jest to szalona odpowiedź, ale spróbowanie tego raz może zaoszczędzić Twój czas!
źródło
Widzisz to po dodaniu projektu WinForms Core 3.1 (z szablonów projektów) na VS-2019 vs 16.4.0 i próbie uruchomienia go po wyjęciu z pudełka. Wyczyść lub przebuduj całe rozwiązanie nie działało.
Właśnie przeładowałem moje rozwiązanie ... czyli File / Close Solution, a następnie ponownie je otworzyłem i przebudowałem rozwiązało problem.
źródło
Jeśli ten błąd występuje jako część kompilacji w Azure DevOps (TFS), a twoja kompilacja ma już zadanie przywracania NuGet , ten błąd może wskazywać, że zadanie przywracania NuGet nie było w stanie przywrócić wszystkich pakietów, szczególnie jeśli używasz niestandardowego źródła pakietu ( takich jak wewnętrzny serwer NuGet). Dodanie
/t:Restore;Build
do argumentów MSBuild wydaje się być jednym ze sposobów rozwiązania błędu, ale prosi to MSBuild o wykonanie dodatkowej operacji przywracania NuGet. Wierzę, że to się powiedzie, ponieważ MSBuild używa niestandardowego źródła pakietu skonfigurowanego w Visual Studio. Preferowanym rozwiązaniem jest naprawa zadania przywracania NuGet.Aby skonfigurować niestandardowe źródło pakietu dla zadania przywracania NuGet:
NuGet.config
plik z listą wszystkich źródeł pakietów (Microsoft Visual Studio Offline Packets, nuget.org i niestandardowe źródło pakietu) i dodaj go do kontroli źródła.NuGet.config
./t:Restore;Build
opcję z zadania MSBuild.Dodatkowe informacje są dostępne tutaj .
źródło
Wystąpił błąd, gdy utworzyłem rdzeń lambda w kropce w VS2017. Dla mnie zadziałało rozładowanie projektu i załadowanie go z powrotem.
źródło
uruchom VS jako administrator po tym, jak w konsoli menedżera pakietów uruchom przywracanie dotnet.
źródło
Inny, jeśli przypadkiem korzystasz z Dropbox, sprawdź
Conflicted
nazwy plików, wyszukaj w repozytorium i usuń wszystkie konfliktowe pliki.Może się tak zdarzyć, jeśli pliki zostały przeniesione.
źródło
Przyczyna tej wady: musisz usunąć wstrzyknięty Nuget w eksploratorze plików. Rozwiązanie: Po usunięciu tego Nuget w systemie, a następnie usuń z następującej lokalizacji. wybierz Narzędzie => Opcje => Menedżer pakietów NuGet => Źródła pakietów, a następnie odznacz opcję Pakiety offline programu Microsoft Visual Studio
źródło
To działało dla mnie: dodałem to źródło pakietu: Microsoft i .net https://www.nuget.org/api/v2/curated-feeds/microsoftdotnet/, a następnie uruchom „przywracanie dotnet” w konsoli
źródło
W moim przypadku miałem problem z dostępnymi źródłami pakietów. Przeniesiłem folder lokalnego repozytorium nugetu do nowej ścieżki, ale nie zaktualizowałem go w dostępnych źródłach pakietu Nuget. Kiedy naprawię problem ze ścieżką, zaktualizuj go w dostępnych źródłach pakietów, a potem wszystko (nuget restor itp.) Działało dobrze.
źródło
Dla mnie okazało się, że jest to problem poświadczeń źródłowych. Niedawno zmieniłem hasło dostępu do serwera Nexus, a Visual Studio nadal używało starego hasła, próbując uzyskać dostęp do nugetu na tym serwerze za pośrednictwem menedżera poświadczeń systemu Windows. Aby to naprawić, musiałem usunąć wpis dotyczący tych nieaktualnych poświadczeń w menedżerze poświadczeń, a po przywróceniu nugetu poprosił mnie o hasło pozwalające wprowadzić nowe hasło, które zostało ponownie zapisane w menedżerze poświadczeń. Dostęp do menedżera referencji można uzyskać z wiersza cmd za pomocą CmdKey.exe.
źródło
Spróbuj tego (działało dla mnie):
źródło
Możesz wybrać: Narzędzia> NuGet Package Manager> Konsola Menedżera pakietów
A następnie Uruchom:
przywracanie dotnet
źródło