Sumber tidak dapat dijangkau saat menggunakan Konsol Manajer Paket NuGet

153

Kami memindahkan manajemen paket kami dari memperbarui file secara manual ke NuGet. Saya mencoba menginstal versi paket yang lebih lama agar sesuai dengan yang sudah kami miliki dalam kontrol sumber. Tidak ada cara untuk melakukan ini dari UI jadi saya menggunakan baris perintah untuk mendapatkan versi yang tepat.

Untuk beberapa alasan, Install-Packageterus memberi tahu saya bahwa galeri nuget tidak dapat dijangkau.

Sumber di nuget.org [ https://www.nuget.org/api/v2/] tidak dapat dijangkau. Kembali ke NuGet Cache Lokal

Ini hanya terjadi di salah satu solusi kami. Jika saya membuat solusi baru atau menggunakan yang lain di repositori yang sama, paket akan diinstal seperti yang diharapkan. Saya bahkan dapat menginstal paket dalam solusi dummy untuk mengisi cache lokal dan kemudian menginstalnya dengan sukses di solusi yang salah. Saya telah mencoba Invoke-WebRequestdi url dari NuGet Console dan saya mendapatkan HTTP 200.

Apa yang bisa menyebabkan ini? Apakah ada cara untuk mengganti sumber paket berdasarkan per solusi / proyek?

Etienne Maheu
sumber
3
Saya mengalami masalah yang sama. Saya telah menginstal Pembaruan 2 VS 2013 kemarin, mungkin ini adalah bug baru ...? Btw, saya dapat menginstal paket apa pun melalui dialog "Kelola Paket NuGet" tanpa masalah, masalah ini hanya terjadi pada Package Manager Console.
rsenna
2
Saya punya masalah yang sama. Selalu berfungsi di dialog Kelola Paket - tidak pernah berfungsi di Package Manager Console.
David Tansey
10
Restart Visual Studio memperbaiki ini untuk saya ಠ_ಠ
Chris Marisic

Jawaban:

338

Meskipun Sumber Paket saya disetel ke nuget.org di Package Manager Console, secara eksplisit menambahkan -Source nuget.orgargumen ini untuk saya.

Jadi contoh penggunaannya adalah:

Install-Package Akka.net -Source nuget.org

Akka.net menjadi paket Anda yang ingin Anda instal, itu hanya sebuah contoh di sini.

selotip
sumber
1
Saya me-restart PC dan Visual Studio saya. tapi .. menambahkan -Sumber nuget.org memang melakukan trik untuk contoh .vbproj baru saya di dalam multi-proyek
.sln
Di mana menambahkan argumen ini dan bagaimana? Bisakah Anda memberi info lebih lanjut.
Radenko Zec
Ini juga bekerja untuk saya (sekarang, sebenarnya!). Saya mencoba menginstal versi jQuery yang lebih lama, tetapi terus meningkatkan kesalahan: "Sumber di nuget.org [ nuget.org/api/v2/] ". Saya tidak tahu bagaimana cara memperbaikinya.
Loudenvier
terima kasih, saya melakukan ini:Install-Package jQuery.UI.Combined -Source nuget.org
shaijut
7
Apakah Anda tahu cara kerjanya? Saya hanya ingin tahu karena ini tidak masuk akal bagi saya bahkan jika itu berhasil. Jadi kesalahan mengatakan Sumber di nuget.org [ nuget.org/api/v2/] tidak dapat dijangkau dan kemudian saya menentukan sumber yang sama-Source nuget.org dan berfungsi?
Vladimirs
10

Saya harus menyalin sumber NuGet default di opsi Visual Studio. Dengan sumber yang disalin, saya mengubah URL dari httpsmenjadi http. Ini menyelesaikan masalah bagi saya.

Penghargaan untuk saran ini ada di sini: https://nuget.codeplex.com/discussions/561075#PostDetailsCell_1354351 , untuk "jpharris4".

Zarepheth
sumber
Ini adalah poin yang sangat bagus. NuGet mungkin sensitif terhadap validasi sertifikat.
Etienne Maheu
6

Saya tidak yakin apa yang dapat menyebabkan masalah Anda, tetapi memang ada cara untuk mengganti sumber paket berdasarkan per solusi, tetapi hanya jika Anda telah mengaktifkan Pemulihan Paket NuGet pada solusi yang diberikan.

Setelah solusi diaktifkan, NuGet Package Restore folder yang disebut ".nuget" ditambahkan ke solusi. Di bawah ini akan ada file bernama "NuGet.targets" yang memiliki ItemGroup dengan Syaratnya adalah '' $ (PackageSources) '==' '"seperti yang akan Anda lihat pada gambar terlampir.

Jika ItemGroup kosong (atau benar-benar dikomentari, seperti pada ilustrasi) maka solusi akan menggunakan file tertentu yang harus sama dengan sumber yang tercantum di dalam ALAT >> OPSI. Tetapi jika Anda menghapus komentar atau menambahkan item PackageSource ke ItemGroup itu, solusinya akan mencari sumber paket yang terdaftar dan HANYA yang terdaftar.

Isi dari file Nuget.targets

Ahli omnidisiplin
sumber
2
Sumber paket yang didefinisikan dalam file NuGet.targets hanya memengaruhi yang digunakan saat membangun ketika sebuah paket sedang dipulihkan. Sumber paket dalam file NuGet.config di direktori .nuget akan memengaruhi sumber paket yang tersedia untuk proyek di Visual Studio.
Matt Ward
Saya memiliki paket restore diaktifkan untuk solusi ini. ItemGroup dikonfigurasikan sama seperti pada tangkapan layar Anda yang saya anggap sebagai pengaturan default, jadi saya rasa ini bukan masalahnya. Namun, paket restore telah diaktifkan sejak lama dan file target berubah sejak saat itu. Saya telah mencoba memperbarui file-file itu ke versi terbaru dengan menghapusnya dan mengaktifkan kembali paket restore dan sepertinya itu memecahkan masalah.
Etienne Maheu
Atau tidak. Awalnya berhasil, tetapi setelah mengembalikan paket untuk solusi dan memulai kembali studio visual, masalah muncul kembali.
Etienne Maheu
Beberapa pertanyaan klarifikasi: 1) Apakah Anda memiliki versi yang tepat direferensikan dalam paket.config? 2) Sudahkah Anda mengonfirmasi bahwa versi yang Anda cari masih ada di server NuGet ? 3) Sudahkah Anda membersihkan solusi dan kemudian membangunnya kembali setelah menyelesaikan 1) dan 2)?
Omnidisciplinarian
1
Jika ada penghiburan - saya mendapatkan masalah ini tetapi hanya pada PC pekerjaan saya dan itu terjadi pada sebagian besar proyek. Yang aneh adalah intermiten yang membuatku gila!
Matt
6

Anda dapat mengubah sumber NuGet dari UI juga. Ubah saja sumber NuGet ke versi yang lebih lama dan itu akan berfungsi dengan baik.

masukkan deskripsi gambar di sini

Tampaknya masih ada beberapa bug di VS 2015 terkait dengan api.nuget.org (v3).

Sameer Azazi
sumber
2

Di Konsol Manajer Paket, saya tidak dapat melihat sumber apa pun

Pergi ke: Alat -> Opsi -> Pengelola Paket Nuget -> Sumber Paket

Saya menemukan sumbernya. Hapus centang pada mereka, dan mereka memeriksa kembali membuat muncul kembali di Package Manager Console saya

pengguna2083640
sumber
2

Saya harus menyediakan comman bersama dengan url penuh sebagai Install-Package MySql.Data.Entity -Version 6.9.8 -Source http://www.nuget.org/api/v2

gavinfonseca
sumber
1

Dalam kasus saya penyebabnya adalah bahwa paket tersebut memiliki perjanjian. Melalui dialog UI - "Kelola Paket NuGet" Anda memiliki opsi untuk menerima dan melanjutkan.

Konsol Manajer Paket di VS 2013 tampaknya memiliki masalah dengan ini. Seperti yang orang lain katakan, memulai kembali VS 2013 mungkin menyelesaikannya untuk konsol.

Byron
sumber
1

Ini bekerja untuk saya di VS 2015 prof: Tools -> Options -> Nuget Package Manager -> Source Package

  1. Tekan tombol Tambah
  2. Edit pada label Nama: nuget.org
  3. Edit dalam label Sumber: https://www.nuget.org/api/v2/
  4. tekan OK

Semoga bisa membantu;)

praguan
sumber
Untuk VS 2015 Anda harus menggunakan v3 dari daftar mereka ... bukan v2! Diambil dari situs nuget pakan v3 mereka (VS 2015 / nuget v3.x): api.nuget.org/v3/index.json nuget pakan v2 (VS 2013 dan sebelumnya / nuget 2.x): nuget.org/api/v2
Paul Zahra
0

Saya memiliki masalah yang sama dengan pesan yang sama. Tapi alasan masalah saya adalah koneksi terputus ke TFS. Server TFS saya dihosting di jaringan lain dan saya menggunakan VPN untuk mengaksesnya. Ketika saya mencoba untuk menginstal paket tanpa koneksi ke TFS (VPN dimatikan) saya mendapat masalah yang sama.

Waspadai perilaku TFS ini.

RredCat
sumber
0

Terjadi karena Anda bekerja dalam mode offline, ketika Anda menyambungkan kembali jaringan harus keluar dan masuk kembali. Pengelola paket akan diinisialisasi ulang dengan lancar.

Rakesh Pahuja
sumber
0

Saya telah menghadapi masalah ini VS2013 dan menghabiskan 3 jam waktu.

Tidak yakin apa yang menjadi penyebab masalah ini. Tetapi tidak ada solusi di atas yang berfungsi untuk saya.

Instalasi ulang konsol Package Manager Nuget berhasil untuk saya.

Alat -> Ekstensi dan Pembaruan -> Di Bawah Semua Cari Nuget Package Manager untuk Visual Studio dan tekan uninstall.

Buka https://marketplace.visualstudio.com/items?itemName=NuGetTeam.NuGetPackageManagerforVisualStudio2013 dan unduh ekstensi.

Syed Abbas
sumber
0

masukkan deskripsi gambar di sini Mungkin milik Anda / firewall rumah memblokir nuget.org jadi cobalah untuk menghubungkan jaringan internet yang berbeda misalnya dari ponsel atau wifi Anda. Saya dapat menyelesaikan melalui metode ini.

pengguna1687805
sumber