Właśnie przekonwertowałem moją bibliotekę PCL na nową bibliotekę .Net Standard i mam kilka żółtych trójkątów ostrzegawczych na moich zależnościach pokazanych poniżej:
Podczas konwersji przeniósł wszystkie pakiety nuget, w tym zależności, więc może być dulicates.
Jak mogę się dowiedzieć, co reprezentują żółte trójkąty ostrzegawcze?
EDYTOWAĆ
Dzienniki kompilacji:
Aby uniemożliwić NuGet przywracanie pakietów podczas kompilacji, otwórz okno dialogowe Opcje programu Visual Studio, kliknij węzeł Menedżera pakietów i odznacz pole „Zezwalaj NuGet na pobieranie brakujących pakietów podczas kompilacji”. NU1605: Wykryta zmiana wersji pakietu: NUnit z 3.8.1 na 2.6.4. Odwołaj się do pakietu bezpośrednio z projektu, aby wybrać inną wersję. MyProj.UI.Tests -> NUnit (> = 2.6.4) NU1605: Wykryto obniżenie wersji pakietu: NUnit z 3.8.1 do 2.6.4. Odwołaj się do pakietu bezpośrednio z projektu, aby wybrać inną wersję. MyProj.UI.Tests.iOS -> MyProj.UI.Tests -> MyProj.Core.Tests -> NUnit (> = 3.8.1) MyProj.UI.Tests.iOS -> NUnit (> = 2.6.4) NU1605: Wykryta zmiana wersji pakietu: NUnit z 3.8.1 na 2.6.4. Odwołaj się do pakietu bezpośrednio z projektu, aby wybrać inną wersję.
MyProj.UI.Tests -> MyProj.Core.Tests -> NUnit (> = 3.8.1)
MyProj.UI.Tests.Android -> MyProj.UI.Tests -> MyProj.Core.Tests -> NUnit (> = 3.8.1) MyProj.UI.Tests.Android -> NUnit (> = 2.6.4)
źródło
Odpowiedzi:
Choć brzmi to banalnie, spróbuj odbudować, a następnie uruchom ponownie VS - i kontynuuj swój dzień :)
źródło
biegać
dotnet restore
zanim wykonasz jakąkolwiek skomplikowaną manipulację, otrzymasz o wiele więcej informacji niż w oknie błędów lub eksploratorze rozwiązań.Możesz uruchomić to polecenie w konsoli Menedżera pakietów:
źródło
W dzienniku kompilacji zauważyłem to:
Dlatego poszedłem i odinstalowałem wszystkie pakiety, które były wymienione jako zależności dla
.Net Standard
nuget wymienionego tutaj:I żółte ostrzeżenia zniknęły.
Stąd: https://blogs.msdn.microsoft.com/dotnet/2017/08/14/announcing-net-standard-2-0/
Odkryłem również, że możesz użyć właściwości NoWarn, jak poniżej:
źródło
Żółty trójkąt oznacza, że fizyczne pliki pakietu zniknęły i nie są już dostępne na dysku twardym.
Zwykle dzieje się tak, gdy wysyłasz
get latest version
żądanie dotyczące kontroli źródła w TFS, szczególnie w przypadku korzystania z nowej maszyny i chcesz uzyskać kod projektu z serwera TFS.Może to być również spowodowane, przez
low quality internet connection
co prawie zawsze spowoduje utratę danych lub uszkodzenie pobranych plików.Jeśli problemowi brakuje kilku pakietów, możesz zmodyfikować
packages.config
plik i usunąć te pakiety zpackages.config
i ponownie zainstalować brakujące pakiety za pośrednictwem menedżera pakietów NuGet.Ale jeśli problem brakuje więcej niż kilku pakietów, najlepszym i szybkim sposobem na odzyskanie brakujących pakietów jest:
Packages
, zaznaczając wszystko. Uwaga NIE kopiuj samego folderu Packages, tylko zawartość wewnątrz folderuPackages
folderze z nadpisaniem istniejących elementów.Zwróć uwagę, że takie problemy związane z brakującymi plikami z projektów są zawsze trudne do naprawienia i zależą od doświadczenia programisty, więc nie oczekuj łatwego rozwiązania tego problemu.
Microsoft twierdzi, że przyczyną błędu jest błąd, ale może się zdarzyć w dowolnej wersji programu Visual Studio.
źródło
Tylko w celach dokumentacyjnych dla nowej osoby z tym problemem, spróbuj tego, a zapamiętasz mnie: D
Jeśli przejdziesz do: Narzędzia> Administrator NuGet> Konfiguracje. i masz zaznaczone „Zezwalaj na nuget…” i „Automatycznie sprawdzaj…”.
Jedyne, co musisz zrobić, to kliknąć przycisk „Wyczyść wszystkie pamięci podręczne NuGet”
To wszystko, nie musisz edytować ręcznych myśli, które mogą być niebezpieczne, uwierz mi, używam niektórych kroków, niż opisuję tutaj, dużo czasu i próbuję więcej niż 5 kroków oficjalnej dokumentacji Microsoft dla ten problem możesz sprawdzić tutaj: https://docs.microsoft.com/es-es/nuget/consume-packages/package-restore#restore-packages-automatically-using-visual-studio
Ale samo wyczyszczenie pamięci podręcznej rozwiązuje wszystkie problemy
źródło
Jeśli masz ikonę ostrzeżenia, ale nie ma żadnych ostrzeżeń i nic nie wydaje się być błędne, kliknij projekt prawym przyciskiem myszy> Wyładuj projekt> ponownie kliknij prawym przyciskiem myszy projekt> Wczytaj ponownie projekt. Ikona pojawiła się na chwilę, a następnie została wyczyszczona dla mnie w programie Visual Studio 2019. Pozwala to uniknąć pełnego ponownego uruchomienia programu Visual Studio.
źródło
Co dziwne, mój projekt .Net Core 3 wymagał ode mnie kliknięcia „Załaduj zależności projektu” w kontekście projektu, po czym ikona ostrzeżenia zniknęła.
Pomocny zrzut ekranu:
źródło
Właśnie zaktualizowałem Visual Studio do wersji 16.4.4 i problem został rozwiązany. Odniesienie jest stałe i nie ma już żółtego trójkąta. Dzięki.
źródło
Napotkałem ten błąd podczas klonowania projektu. głównym powodem było to, że pakiety Nuget nie mogły zostać przywrócone i znalazłem rozwiązanie, ustawiając nuget.org jako jedyny aktywny zasób.
Upewnij się, że wybrałeś Nuget.org jako jedyny aktywny zasób.
Mam nadzieję, że to pomoże
źródło
Żółty wykrzyknik jest zwykle spowodowany brakiem odniesienia lub nieobsługiwaną biblioteką dll. Jeśli sklonujesz repozytorium, istnieje prawdopodobieństwo, że wiele pakietów modeli użytkowych wyświetli żółty wykrzyknik. Jeśli sprawdziłeś, że wersja projektu jest poprawna, a problem nadal istnieje, możesz wypróbować poniższe rozwiązanie.
W konsoli menedżera pakietów wybierz projekt, w którym napotykasz ten problem, a następnie wpisz następujące polecenie.
Wymusi to ponowną instalację wszystkich pakietów. To polecenie nie zaktualizuje wersji pakietów NuGet, po prostu wymusi ich ponowne zainstalowanie.
To rozwiązanie zadziałało w moim przypadku. Używam VS2019. Mam nadzieję, że pomoże to również innym.
źródło
Może istnieć 1 pakiet, który może spowodować, że wszystkie inne nie zostaną załadowane. spróbuj komentować pakiety z .csproj jeden po drugim i dowiedz się, który z nich jest problemem, aby zawęzić zakres.
źródło
Jeśli spróbuję odinstalować
Microsoft.NETCore.Platforms
zgodnie z zaznaczoną odpowiedzią, pojawi się następujący błąd:Odinstalowałem inne pakiety, ale nadal pojawia się
NETSDK1023
błąd:Teraz zredagowałem plik .csproj i usunąłem następną część
<PackageReference Include="NETStandard.Library" Version="2.0.3" />
jak podano w https://aka.ms/sdkimplicitrefs w sekcji Zalecenia :
Teraz ostrzeżenie zniknęło!
źródło
Żadne z powyższych nie działało dla mnie. Miałem jeden projekt w rozwiązaniu z trójkątami ostrzegawczymi dotyczącymi zależności od innych projektów w rozwiązaniu, co powodowało wiele czerwonych błędów w VS. Jednak będzie dobrze budować, uruchamiać i debugować. Ostatecznie wyładowałem projekt, klikając prawym przyciskiem myszy nazwę projektu w drzewie rozwiązań, a następnie ponownie załadowałem projekt i wszystko jest teraz szczęśliwe. Dzięki Visual Studio, smh. Używam VS 2019 16.7.1
źródło
Uruchom ponownie maszynę
Uważam, że moja sytuacja polegała na tym, że jakiś proces nie zwalniał pewnych bibliotek dll po opróżnieniu pamięci podręcznej, a następnie jakiekolwiek przejęcie bibliotek dll nie powiodło się z powodu blokady (?).
donet restore
Ponowne uruchomienie komputera i rozwiązanie tego problemu pozwoliło mi ponownie zbudować bez błędu brakującego pakietu.źródło
Jeśli nie ma problemu z aktualizacją wszystkich pakietów NuGet, które mogą rozwiązać ten problem.
Menu Narzędzia -> Menedżer pakietów NuGet -> Zarządzaj pakietami NuGet dla rozwiązania . Kiedy pojawi się to menu, kliknij kartę Aktualizuj i kliknij przycisk Aktualizuj wszystko .
źródło