Tidak Dapat Menginstal Paket Apa Saja di Visual Studio 2015


183

Saya sudah mencoba setiap paket yang mungkin bisa saya temukan dan tidak ada yang menginstal di proyek saya. Saya telah menginstal setiap pembaruan yang tercantum dalam daftar Ekstensi dan Pembaruan yang tersedia. Ketika saya mencoba menginstal SendGrid misalnya, ini adalah hasilnya (seperti hasil dengan semua paket lain):

Attempting to gather dependencies information for package 'Sendgrid.6.1.0' with respect to project 'UI\MyApplication.MVC', targeting '.NETFramework,Version=v4.5.2'
Attempting to resolve dependencies for package 'Sendgrid.6.1.0' with DependencyBehavior 'Lowest'
Resolving actions to install package 'Sendgrid.6.1.0'
Resolved actions to install package 'Sendgrid.6.1.0'
For adding package 'SendGrid.SmtpApi.1.3.1' to project 'MyApplication.MVC' that targets 'net452'.
For adding package 'SendGrid.SmtpApi.1.3.1' to project 'MyApplication.MVC' that targets 'net452'.
Adding package 'SendGrid.SmtpApi.1.3.1' to folder 'C:\Users\Keith\Source\Workspaces\MyApplication\MyApplication.MVC\packages'
Install failed. Rolling back...

Saya tidak bisa menjadi satu-satunya di planet ini yang memiliki masalah dengan Visual Studio 2015 dan Manajer Paket NuGet yang baru dan "ditingkatkan".

PEMBARUAN:
Yah, pasti ada sesuatu yang aneh dalam solusi saya karena saya membuat proyek baru dari template VS2015 (web) dan paket-paketnya terinstal dengan baik. Ketika saya mengetahui masalahnya, saya akan memposting resolusi jika orang lain mengalami masalah yang sama.

UPDATE 2:
Ok, itu bukan solusi kami. Kami menciptakan solusi baru dari awal lagi (ini menghabiskan banyak waktu pengembangan untuk saya tambahkan), menambahkan beberapa paket (Identity, EF, SendGrid) dan setelah memeriksa solusi ke VSO, pengembang lain melakukan kreasi baru cabang dan membangun kesalahan terjadi. Ketika saya pergi ke paket NuGet untuk proyek individual, itu bertindak seolah-olah tidak ada paket yang saya tambahkan tersedia. Adakah yang mengalami ini?


1
Gunakan VS2013 untuk menambahkan paket VS2015 sangat bermasalah kemudian buka saja di VS2015 dan terus gunakan itu
Rob Sedgwick

Jawaban:


124

tl; dr - Hapus ini:

%AppData%/Nuget/Nuget.config

Peringatan: Jika Anda memiliki sumber NuGet khusus, ini akan menghapusnya, dan Anda harus menambahkannya kembali.


Versi yang lebih panjang:

Anda mungkin telah merusak konfigurasi NuGet Anda. Oh tidak :(

Nuget.config adalah file yang digunakan untuk melacak semua tempat yang menarik NuGet, serta mengkonfigurasi hal-hal lain. Kemungkinan besar, file xml ini entah bagaimana rusak.

  • Pergi ke jalan ini: C:\Users\{{username}}\AppData\Roaming\
  • Menghapus Nuget.config
  • Restart VS untuk ukuran yang baik

Untuk referensi: di hari baik tahun 2017, file Anda akan terlihat seperti ini

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <packageRestore>
    <add key="enabled" value="True" />
    <add key="automatic" value="True" />
  </packageRestore>
  <activePackageSource>
    <add key="nuget.org" value="https://api.nuget.org/v3/index.json" />
  </activePackageSource>
  <packageSources>
    <add key="nuget.org" value="https://api.nuget.org/v3/index.json" protocolVersion="3" />
    <add key="nuget.org" value="https://www.nuget.org/api/v2/" />
    <!-- Others -->
  </packageSources>
  <packageSourceCredentials>
    <!-- secret stuff -->
  </packageSourceCredentials>
</configuration>

Terima kasih, itu adalah solusi yang rapi
Nic

Ini bekerja untuk saya juga, terima kasih Statue Anda menghemat waktu saya.
Rameshwar Vyevhare

1
Kebetulan luar biasa. Posting ini dari setahun yang lalu diedit tepat di depan mata saya ketika saya membutuhkan jawabannya. Terima kasih!
Jason Spake

1
Maaf untuk menabrak ini, tetapi milik saya harus istimewa dan disebut "NuGet.Config", yang sangat spesifik pada NTFS untuk saya!
TGP1994

2
(Sebenarnya, ternyata saya bahkan tidak perlu menghapus konfigurasi sama sekali. Diperlukan restart Visual Studio.)
TGP1994

415

Menutup dan membuka kembali VS2015 menyelesaikan masalah.

Tampaknya dalam beberapa kasus, hanya memuat ulang proyek yang terkena dampak akan berhasil.


3
Ini bekerja untuk saya juga, setelah saya menutup VS, nuked folder 'paket' untuk solusi, dan restart.
wislon

6
Ini bekerja untuk saya, meskipun saya harus menutup semua instance VS - menutup yang terpengaruh saja tidak cukup.
Rory McCrossan

4
Tampaknya sangat sederhana ... namun +111 suara! Bekerja untuk saya juga!
Anthony Nichols

22
Kenapa, Microsoft?!?! Mengapa ini harus menjadi jawaban terbaik (dan yang bekerja untuk saya)?
Matt Ruwe

2
Saya tidak nyaman dengan jawabannya tetapi berhasil, kita membutuhkan "mengapa"
Zinov

32

Saya menemukan solusi untuk ini dalam kasus saya, coba perbarui Manajer Paket NuGet.

Untuk melakukan ini:

  1. Dari VS, buka Tools -> Extensions and Updates
  2. Buka opsi menu Pembaruan di sebelah kiri, lalu pilih Galeri Visual Studio .
  3. Jika ada pembaruan untuk Penginstal Paket Nuget, itu harus ditampilkan dalam daftar di sebelah kanan. Klik Perbarui
  4. Mulai ulang Visual Studio

Ini biarkan saya menginstal paket tanpa masalah lagi.

Semoga ini membantu!


1
Saya mengikuti ini, namun tidak ada pembaruan untuk Nuget. Ada satu untuk "Alat Web" dan ini menyelesaikan kesalahan "konfigurasi nuget tidak valid" untuk saya.
RyanJMcGowan

1
Mungkin bukan fakta bahwa Anda meningkatkan "Alat Web", melainkan fakta bahwa menginstal pembaruan ekstensi mengharuskan Anda untuk memulai ulang Visual Studio. Restart bekerja untuk saya.
Joe the Coder

Bekerja untuk saya juga
Aaron

Dalam kasus saya tidak ada pembaruan yang tersedia, tetapi saya mengunduh versi terbaru dari dotnet.myget.org/F/nuget-vsix/vsix dan itu berhasil.
DavidC

20

Dalam kasus saya memperbarui Microsoft.CodeDom.Providers.DotNetCompilerPlatformdan Microsoft.Net.Compilers menyebabkan masalah.

Menghapus bin,, objdan packagesfolder dan memulai kembali Visual Studio 2015 memecahkan masalah bagi saya.


1
Solusi lain tidak berfungsi tetapi yang ini berhasil. Menghapus 'paket' adalah kunci bagi saya
Gordon Slysz

1
Saya tidak tahu mengapa menghapus paket bisa berhasil, tetapi ternyata berhasil! Saya belum memperbarui apa pun, saya baru saja bermigrasi dari Visual Studio 2010 ke 2015, dan .NET 4.0 ke 4.5.
Pelindung satu

Di mana saya dapat menemukan folder 'paket'? Saya hanya punya bin dan obj.
Denny

8

Anda harus Bersihkan Semua Cache NuGet; untuk ini, Anda perlu pergi ke Pilihan dan klik seperti ini:

masukkan deskripsi gambar di sini


Astaga, omg, kau menyelamatkan hidupku, aku menjadi gila ... aku selalu mendapatkan kesalahan "Instal gagal. Bergulir kembali ...". Sudah mencoba menghapus file konfigurasi NuGet yang telah menerima jawaban yang diterima dan juga mencoba me-restart VS dan komputer ... membersihkan feed nuget saya, mengonfigurasi lagi .. tidak ada, tetapi kemudian memperbaikinya! Terima kasih banyak!
TiagoM

7

Secara umum menutup dan membuka kembali VS 2015 memperbaiki sebagian besar masalah yang saya temui . Suatu kali saya memang perlu menjalankan perbaikan di salah satu komputer saya.

Namun saya hendak melakukan ini Closing and re-opening VS2015 resolved the issue for me saya pikir bahwa saya akan klik bukannya kanan pada proyek dan Unload Proyek kemudian klik kanan dan Reload proyek KEMUDIAN Mengelola Nuget bekerja!


4

Hanya untuk membantu siapa saja yang telah mendarat di halaman ini setelah memperbarui VS2015 untuk memperbarui 2 dan mencoba mengelola paket di situs web, menerima kesalahan "File konfigurasi NuGet tidak valid", ini adalah masalah yang diketahui dan diakui:

https://connect.microsoft.com/VisualStudio/feedback/details/2698136/nuget-configuration-is-invalid-manage-nuget-packages-for-solution-disabled

Saya mendapatkan pekerjaan saya lagi dengan menginstal manajer paket 3.4.4 (beta) dari http://dist.nuget.org/index.html

Mereka juga menyatakan pembaruan 3 untuk Visual Studio juga akan berisi perbaikan


Terima kasih banyak untuk ini! :)
Ramanpreet Singh

3

Tebakan saya adalah Manajer Paket Nuget mengacaukan VSO. Saya membuat proyek baru, menambahkan paket dengan baik, periksa di TFS. Lalu saya pulang, "Dapatkan Versi Terbaru", dan Jalankan, dan gagal karena Nuget Package Manager tidak mengembalikan paket saya. Solusi: di mesin rumah saya

  1. buka Nuget Package Manger, hapus instalan setiap paket yang telah diinstal
  2. Buka folder Referensi, klik kanan> Hapus untuk semua paket yang Anda instal
  3. Instal ulang mereka melalui Manajer Paket Nuget
  4. Mendaftar

Saya mencoba menambahkan / memperbarui paket dari proyek baru dan mengalami hasil gagal yang sama. Saya telah menurunkan versi ke VS2013 hingga manajer paket diperbarui di VS2015
clockwiseq

3

Saya dapat mengatasi masalah ini dengan menginstal ulang Package Manager Nuget melalui Tools -> Extensions and Updates


3

Saya punya masalah dengan Visual Studio 2017: Ternyata ada dua proyek perpustakaan kelas - satu untuk .Net dan yang lainnya untuk C #. Saya membuat satu untuk .Net dan ketika saya mencoba menginstal paket tertentu (Nunit dalam kasus saya), saya mendapat pesan kesalahan.

Menciptakan proyek sebagai perpustakaan kelas C # memperbaiki masalah


1

Dalam kasus saya, Masalah ini disebabkan oleh ketidakcocokan dalam pengaturan kerangka Target saya di bawah setiap proyek. Ketika saya membuat proyek baru, VS 2015 default ke 4.5.2, namun semua paket nuget saya dibuat untuk 4.6.

Untuk beberapa alasan, VS 2015 tidak menunjukkan kesalahan ini kepada saya. Saya tidak melihat mereka sampai saya membuat proyek kosong baru dan mencoba menambahkan proyek nuget saya di sana. Perilaku ini mungkin diperburuk karena saya telah mengganti nama proyek beberapa kali selama pengaturan awal.

Saya memecahkan masalah dengan

  • mengubah Kerangka Target pada proyek saya menjadi 4.6
  • ditutup VS 2015
  • folder "paket", "obj" dan "bin" dihapus
  • buka kembali solusinya dan coba tambahkan lagi paket nuget.

1

Saya menggunakan Visual Studio 2015 Pembaruan 3 dan saya berhasil mereproduksi kesalahan ini (meskipun Pembaruan 3 diduga berisi perbaikan).

Seperti yang disarankan di atas, perbaikan yang dapat diandalkan adalah dengan melakukan yang berikut ... 1) Keluar Visual Studio, 2) Hapus folder paket , 3) Restart VS.

Tetapi ... jika Anda tidak ingin segera keluar dari VS karena suatu alasan, saya masih dapat menambah / menghapus paket dari semua proyek dengan memilih opsi ' Kelola Paket NuGet untuk Solusi ', daripada masing-masing Proyek yang memiliki masalah .


Di mana folder paket yang dibicarakan semua orang?
ShrimpCrackers

@ShrimpCrackers - di lokasi yang sama dengan file solusi (
.sln

1

Memperbaiki Visual Studio 2015 tampaknya telah menyelesaikan masalah ini untuk saya. Lihat masalah ini untuk NuGet di GitHub.


1

Cukup restart Visual Studio berfungsi untuk saya .. coba restart Visual Studio.


0

Saya punya masalah ini, yang sepertinya disebabkan oleh sesuatu yang rusak di packagesfolder level solusi . Saya menghapus isi folder dan membiarkan nugetmenginstal semua paket lagi.

Saya kemudian dapat menginstal paket baru lagi.


0

Buka folder paket. Periksa apakah ada file dengan ekstensi .deleteme, contoh Newtonsoft.Json.9.0.1.deleteme. Hapus semua paket yang memiliki file .deleteme secara manual. Hapus file .deleteme. Tutup dan buka Nuget Explorer.


0

Ubah "paket sumber" di nuget menjadi All

Detail: Tidak satu pun di atas membantu dalam kasus saya. Masalah saya adalah saya hanya terbatas pada satu feed pribadi. Setelah saya mengubah "sumber paket" menjadi All, masalah saya terpecahkan. Saya percaya inti masalahnya adalah bahwa pkg pribadi saya memiliki ketergantungan pada pkg lain dari nuget.org.

Saya harap ini bisa membantu seseorang


0

Dalam kasus saya, tidak ada yang di atas yang membantu. Akar penyebab masalah dalam kasus saya adalah, bahwa saya menghapus paket sebelum dan tidak memeriksa perubahan menjadi kontrol sumber (TFS dalam kasus saya). Setelah memeriksa perubahan (= penghapusan file di folder paket), saya bisa menginstal ulang paket.


0

Dalam kasus saya, ada file paket.config kosong di direktori soultion, setelah menghapus ini, pembaruan berhasil

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.