Saya memiliki aplikasi ASP.NET MVC5 yang bekerja kemarin dan sekarang saya mendapatkan kesalahan ini ketika saya mencoba membangun:
Proyek ini mereferensikan paket NuGet yang hilang di komputer ini.
Saya telah memeriksa dua opsi yang memungkinkan nuget untuk secara otomatis mengunduh dan menginstal paket yang hilang diperiksa / AKTIF. Saya juga telah mencoba menghapus semua file dalam folder paket dan kemudian mengunduhnya kembali nuget. Juga ketika saya membuka nuget dan mencari pembaruan dikatakan tidak ada yang perlu diinstal. Saya tidak tahu apa lagi yang harus dilakukan untuk bergerak melampaui masalah yang luar biasa menyebalkan ini.
visual-studio-2010
visual-studio
msbuild
nuget
Austin Harris
sumber
sumber
The operation has timed out.
kesalahan. selama membangun. Anda perlu memeriksa log build Anda, atau tab Diagnostics di layar informasi Visual Studio Online Build Failed.Jawaban:
Dalam kasus saya, saya harus menghapus yang berikut dari file .csproj:
Bahkan, dalam cuplikan ini Anda dapat melihat dari mana pesan kesalahan berasal.
Saya mengonversi dari Pemulihan Paket Terintegrasi MSBuild ke Pemulihan Paket Otomatis ( http://docs.nuget.org/docs/workflows/migrating-to-automatic-package-restore )
sumber
Salah satu solusinya adalah dengan menghapus dari file .csproj berikut ini:
Bagaimana?
sumber
Dalam kasus saya, ini terjadi setelah saya memindahkan folder solusi dari satu lokasi ke lokasi lain, mengaturnya kembali sedikit dan dalam prosesnya struktur folder relatifnya berubah.
Jadi saya harus mengedit semua entri yang mirip dengan yang berikut di
.csproj
file saya dariuntuk
(Catat perubahan dari
..\packages\
menjadipackages\
. Mungkin struktur relatif yang berbeda dalam kasus Anda, tetapi Anda mendapatkan ide.)sumber
.csproj
kerabat Anda terhadap Anda.sln
tidak masalah dalam konteks ini. Yang penting adalah apakah segala sesuatu yang dirujuk di Anda.csproj
telah pindah ke tempat lain. Jika demikian, maka Anda harus memperbaikinya. Jika Anda memindahkan '.csproj' dengan segala yang dirujuknya tetap utuh, tetapi tetap mempertahankannya.sln
, maka Anda harus memperbaiki.sln
file ke lokasi baru.csproj
-es, tetapi tidak perlu mengedit.csproj
file.Saya dengan mudah menyelesaikan masalah ini dengan mengklik kanan pada solusi saya dan kemudian mengklik Aktifkan Pemulihan Paket NuGet pilihan
(PS: Pastikan Anda memiliki Nuget Install From Tools -> Extensions and Update -> Nuget Package Manager untuk Visual Studio 2013. Jika tidak menginstal extention ini terlebih dahulu)
Semoga ini bisa membantu.
sumber
MSBuild-Integrated Package Restore
. Itu adalah cara lama dan daftar beberapa alasan mengapa Anda harus menggunakan cara baru.Dalam kasus saya itu ada hubungannya dengan versi Microsoft.Build.Bcl. Versi paket nuget saya adalah 1.0.21, tetapi file proyek saya masih menunjuk ke versi 1.0.14
Jadi saya mengubah file .csproj saya dari:
untuk:
Dan bangunan itu bekerja lagi.
sumber
Jika Anda menggunakan TFS
Hapus
NuGet.exe
danNuGet.targets
file dari.nuget
folder solusi . Pastikan file itu sendiri juga dihapus dari ruang kerja solusi. SimpanNuGet.Config
file untuk terus memotong menambahkan paket ke kontrol sumber.Edit setiap file proyek (misalnya, .csproj, .vbproj) dalam solusi dan hapus semua referensi ke
NuGet.targets
file tersebut. Buka file proyek di editor pilihan Anda dan hapus pengaturan berikut:Jika Anda tidak menggunakan TFS
Hapus
.nuget
folder dari solusi Anda. Pastikan folder itu sendiri juga dihapus dari ruang kerja solusi.Edit setiap file proyek (misalnya, .csproj, .vbproj) dalam solusi dan hapus semua referensi ke
NuGet.targets
file tersebut. Buka file proyek di editor pilihan Anda dan hapus pengaturan berikut:Referensi: Memigrasi solusi MSBuild-Integrated untuk menggunakan Pemulihan Paket Otomatis
sumber
Apakah mungkin paket-paket tersebut telah dikembalikan ke folder yang salah? Pastikan jalur di file csproj sudah benar.
Jika mereka berbeda itu bisa disebabkan oleh paket yang sekarang sedang dikembalikan ke lokasi yang berbeda. Ini bisa disebabkan oleh file NuGet.Config sedang diperiksa dalam menentukan node seperti ini:
Paket-paket sedang dipulihkan, oleh proyek masih mencari di lokasi lama.
sumber
Saya memiliki masalah yang sama. Dalam kasus saya menginstal paket Microsoft.Bcl.Build memperbaiki masalah.
sumber
1.0.21
versi tidak ada file dalam paket, instalasi1.0.14
versi memperbaiki ini.Dihapus di bawah baris dalam file .csproj
sumber
Salah satu solusinya adalah dengan menghapus dari file .csproj berikut ini:
Proyek ini mereferensikan paket NuGet yang hilang di komputer ini. Aktifkan Pemulihan Paket NuGet untuk mengunduhnya. Untuk informasi lebih lanjut, lihat http://go.microsoft.com/fwlink/?LinkID=322105 . File yang hilang adalah {0}.
sumber
Ini adalah langkah-langkah yang saya gunakan untuk memperbaiki masalah:
Untuk menambahkan paket nuget ke solusi Anda:
sumber
Bagi saya ini berhasil karena saya baru saja menyalin folder .nuget dari solusi yang sudah ada ke solusi yang ada, dan mereferensikan isinya!
sumber
Hal pertama yang harus dicoba adalah klik kanan solusi dan pilih "Kembalikan Paket Nuget".
Dalam kasus saya yang tidak berhasil, jadi saya mengikuti beberapa rekomendasi untuk menghapus "Impor" dan "Target" pada file proyek, ini bekerja untuk 2 dari 3 proyek saya, tetapi mendapat kesalahan yang berbeda pada yang terakhir.
Apa yang berhasil adalah membuka Package Manager Console dan menjalankan:
Dibutuhkan waktu tetapi karena menginstal ulang semua paket proyek Anda akan dikompilasi tanpa masalah
sumber
Saya memiliki masalah yang sama. Saya menemukannya ketika saya menyalin proyek yang ada dan mentransfernya pada folder direktori solusi saya dan menambahkannya sebagai proyek yang ada ke solusi kosong saya. Jadi saya harus mengedit file csproj saya dan mencari baris kode khusus ini, sebagian besar waktu, ini dapat ditemukan pada baris terakhir:
Setelah baris itu, saya harus berkomentar:
Solusi Anda akan meminta ada perubahan pada proyek Anda, cukup pilih Muat Ulang Semua:
Kemudian semuanya bekerja dengan baik setelah membangun kembali solusi saya.
sumber
Saya memiliki masalah yang sama ketika saya merujuk perpustakaan Kelas ke dalam aplikasi web MVC saya,
Masalahnya adalah ketidakcocokan nomor versi paket nuget antara dua proyek.
mis: perpustakaan kelas saya memiliki log4net 1.2.3 tetapi webapp saya 1.2.6
memperbaiki: pastikan kedua proyek memiliki nomor versi yang sama direferensikan.
sumber
Mengedit .sln dan .csproj tidak selalu mudah atau diinginkan. Setelah Anda mendapatkan daftar kesalahan Anda dapat melihat proyek apa yang memiliki paket yang hilang (juga, simpul Referensi biasanya menunjukkan bahwa ada rakitan yang hilang kecuali paket adalah kode sumber, sumber daya, gambar, atau hanya yang berbasis teks).
Menghapus dan kemudian menambahkan paket bukanlah ide yang bagus kecuali Anda menggunakan versi terbaru dari paket. Kalau tidak bersiaplah untuk kejutan, tidak selalu menyenangkan.
Jika, katakanlah, paketnya adalah EntityFramework maka dari galeri NuGet Anda mendapatkan versi terbaru yang pada saat menulis komentar ini adalah 6.1.3 .
Jadi, mungkin cara teraman untuk menangani situasi ini adalah mengembalikan paket yang hilang satu per satu. Ya, sedikit latihan yang menyakitkan tetapi mengejar bug yang halus karena versi paket yang berbeda mungkin jauh lebih tidak menyenangkan.
Setelah ini dikatakan, dan biarkan lagi EntityFramework menjadi paket yang hilang, Anda bisa mengeluarkan perintah berikut di Package-Manager Console:
Ini akan menginstal versi yang benar, yaitu 6.0.1 , yaitu versi yang ditentukan dalam paket.config:
sumber
Saya mengalami ini ketika file csproj dan sln berada di folder yang sama (bodoh, saya tahu). Setelah saya pindah ke file sln ke folder di atas folder csproj saya jadi
sumber
Saya membuat folder bernama '.nuget' di folder solusi root Kemudian menambahkan file 'NuGet.Config' di folder ini dengan konten berikut
Kemudian buat file '.nuGet.targets' seperti di bawah $ (MSBuildProjectDirectory) .. \
sumber