Saya baru saja mengonversi pustaka PCL saya ke pustaka .Net Standard baru dan saya memiliki beberapa segitiga Peringatan Kuning pada Ketergantungan saya yang ditunjukkan di bawah ini:
Selama konversi itu membawa semua paket nuget termasuk dependensi sehingga bisa menjadi dulicates.
Bagaimana cara mengetahui apa yang diwakili oleh segitiga peringatan Kuning?
EDIT
Bangun Log:
Untuk mencegah NuGet memulihkan paket selama pembuatan, buka dialog Opsi Visual Studio, klik pada simpul Manajer Paket dan hapus centang 'Izinkan NuGet untuk mengunduh paket yang hilang selama pembuatan.' NU1605: Deteksi paket downgrade: NUnit dari 3.8.1 ke 2.6.4. Referensikan paket langsung dari proyek untuk memilih versi yang berbeda.
MyProj.UI.Tests -> MyProj.Core.Tests -> NUnit (> = 3.8.1)
MyProj.UI.Tests -> NUnit (> = 2.6.4) NU1605: Mendeteksi penurunan versi paket: NUnit dari 3.8.1 ke 2.6.4. Referensikan paket langsung dari proyek untuk memilih versi yang berbeda. MyProj.UI.Tests.iOS -> MyProj.UI.Tests -> MyProj.Core.Tests -> NUnit (> = 3.8.1) MyProj.UI.Tests.iOS -> NUnit (> = 2.6.4) NU1605: Penurunan paket yang terdeteksi: NUnit dari 3.8.1 ke 2.6.4. Referensikan paket langsung dari proyek untuk memilih versi yang berbeda.
MyProj.UI.Tests.Android -> MyProj.UI.Tests -> MyProj.Core.Tests -> NUnit (> = 3.8.1) MyProj.UI.Tests.Android -> NUnit (> = 2.6.4)
sumber
Jawaban:
Kedengarannya basi, coba bangun kembali lalu mulai ulang VS - dan lanjutkan hari Anda :)
sumber
dijalankan
dotnet restore
sebelum Anda melakukan manipulasi yang rumit, Anda akan diberikan lebih banyak info daripada di jendela kesalahan atau penjelajah solusi.Anda dapat menjalankan perintah ini di Package Manager Console:
sumber
Di build Log saya kebetulan melihat ini:
Karena itu saya pergi dan menghapus semua paket yang terdaftar sebagai dependensi untuk
.Net Standard
nuget yang tercantum di sini:Dan peringatan kuning menghilang.
Dari sini: https://blogs.msdn.microsoft.com/dotnet/2017/08/14/announcing-net-standard-2-0/
Saya juga menemukan Anda dapat menggunakan properti NoWarn seperti di bawah ini:
sumber
Segitiga kuning berarti bahwa file fisik paket telah hilang dan tidak lagi tersedia di Hard Drive.
Ini biasanya terjadi saat mengeluarkan
get latest version
permintaan pada kontrol sumber di TFS, terutama saat menggunakan mesin baru, dan Anda ingin mendapatkan kode proyek dari server TFS.Ini juga bisa disebabkan oleh
low quality internet connection
yang hampir selalu akan mengakibatkan hilangnya data, atau file unduhan yang rusak.Jika masalah kehilangan beberapa paket, Anda dapat memodifikasi
packages.config
file dan menghapus paket-paket ini daripackages.config
dan menginstal ulang paket yang hilang melalui manajer paket nuget.Tetapi jika masalah kehilangan lebih dari beberapa paket, cara terbaik dan cepat yang saya gunakan untuk mengambil paket yang hilang adalah dengan:
Packages
dengan memilih semua, Catatan JANGAN menyalin folder Paket itu sendiri hanya konten di dalam folderPackages
folder dengan menimpa item yang ada.Perhatikan masalah yang terkait dengan file yang hilang dari proyek selalu sulit diperbaiki, dan bergantung pada pengalaman pengembang, jadi jangan berharap solusi mudah untuk yang satu ini.
Tentang penyebab kesalahan, Microsoft mengatakan itu adalah bug, tetapi bisa terjadi pada versi Visual Studio apa pun.
sumber
Hanya untuk tujuan dokumentasi bagi orang baru dengan masalah ini coba ini dan Anda akan mengingat saya: D
Jika Anda pergi ke: Tools> NuGet Administrator> Configurations. dan Anda memiliki cek "Izinkan nuget ...." dan "otomatis memeriksa ....".
Satu-satunya hal yang harus Anda lakukan adalah mengklik tombol con "Hapus Semua NuGet Cache (s)"
Itu saja, Anda tidak perlu mengedit secara manual berpikir daripada bisa berbahaya, percayalah, saya biasanya perlu melakukan beberapa langkah daripada menjelaskan di sini banyak waktu, dan mencoba lebih dari 5 langkah dokumentasi resmi microsoft untuk masalah itu, Anda dapat memeriksanya di sini: https://docs.microsoft.com/es-es/nuget/consume-packages/package-restore#restore-packages-automatically-using-visual-studio
Tetapi hanya membersihkan cache akan menyelesaikan semua masalah
sumber
Jika Anda memiliki ikon peringatan tetapi tidak ada peringatan dan tampaknya tidak ada yang salah, klik kanan proyek> Bongkar Proyek> klik kanan proyek lagi> Muat Ulang Proyek. Ikon muncul sejenak dan kemudian dihapus untuk saya di Visual Studio 2019. Ini menghindari restart Visual Studio penuh.
sumber
Anehnya, proyek .Net Core 3 saya mengharuskan saya untuk mengklik "Muat ketergantungan proyek" dari konteks proyek, lalu ikon peringatan menghilang.
Tangkapan layar yang berguna:
sumber
Saya baru saja memperbarui Visual studio ke 16.4.4 dan masalah telah teratasi. Referensi tetap dan tidak ada lagi segitiga kuning. Terima kasih.
sumber
Saya menghadapi kesalahan ini ketika saya mengkloning proyek. alasan utamanya adalah paket Nuget tidak dapat memulihkan dan saya menemukan solusi dengan menjadikan nuget.org hanya sumber daya aktif.
Pastikan Anda memilih Nuget.org sebagai sumber daya aktif saja.
Semoga membantu
sumber
Tanda seru kuning biasanya karena referensi yang hilang atau dll yang tidak didukung. Jika Anda mengkloning repositori maka ada kemungkinan banyak paket nugget akan menampilkan tanda seru berwarna kuning. Jika Anda telah memverifikasi versi proyek sudah sesuai dan masih ada masalah, Anda dapat mencoba solusi di bawah ini.
Di konsol manajer paket, pilih proyek di mana Anda menghadapi masalah ini dan kemudian ketik perintah berikut.
Ini akan memaksa menginstal ulang semua paket. Perintah ini tidak akan memperbarui versi paket NuGet, itu hanya akan memaksa menginstal ulang.
Solusi ini berhasil dalam kasus saya. Saya menggunakan VS2019. Semoga ini bisa membantu orang lain juga.
sumber
Mungkin ada 1 paket yang dapat menyebabkan yang lainnya tidak dapat dimuat. coba untuk mengomentari paket dari .csproj satu per satu dan cari tahu mana yang menjadi masalah untuk mempersempitnya.
sumber
Jika saya mencoba menghapus instalan
Microsoft.NETCore.Platforms
seperti yang dinyatakan dalam jawaban yang ditandai, saya mendapatkan kesalahan berikut:Saya mencopot paket lain, tetapi saya masih mendapatkan
NETSDK1023
kesalahan:Sekarang saya mengedit .csproj saya dan menghapus bagian berikut
<PackageReference Include="NETStandard.Library" Version="2.0.3" />
sebagaimana dinyatakan dalam https://aka.ms/sdkimplicitrefs di bawah Rekomendasi :
Sekarang peringatan itu hilang!
sumber
Semua hal di atas tidak berhasil untuk saya. Saya punya satu proyek dalam solusi dengan segitiga peringatan pada ketergantungan ke proyek lain dalam solusi yang menyebabkan banyak kesalahan merah di VS. Namun, itu akan membangun, menjalankan, dan men-debug dengan baik. Saya akhirnya membongkar proyek dengan klik kanan pada nama proyek di pohon solusi, dan kemudian memuat ulang proyek dan semuanya senang sekarang. Terima kasih Visual Studio, smh. Saya menggunakan VS 2019 16.7.1
sumber
Mulai Ulang Mesin
Saya percaya bahwa situasi saya adalah bahwa beberapa proses tidak merilis dll tertentu setelah cache flush dan kemudian akuisisi dll gagal karena kunci itu (?).
Dengan me-restart mesin saya dan
donet restore
menyelesaikan masalah dan saya dapat membangun lagi tanpa kesalahan paket yang hilang.sumber
Jika tidak ada masalah dengan Anda untuk memperbarui semua paket NuGet yang dapat menyelesaikan masalah ini.
Menu Tools -> NuGet Package Manager -> Kelola Paket Nuget untuk Solusi . Ketika menu ini muncul, klik pada tab Update dan klik tombol Update All .
sumber