Proyek pembukaan di Visual Studio gagal karena kesalahan nuget.t target tidak ditemukan

105

Jadi saya mengunduh Twitterizer dari http://www.twitterizer.net/downloads/

Saya mencoba membukanya di Visual Studio dan mendapatkan semua kesalahan nuget ini:

The imported project "C:\Twitterizer\.nuget\nuget.targets" was not found. 
Confirm that the path in the <Import> declaration is correct, and that the file 
exists on disk.

Apa yang sedang terjadi. Bagaimana saya menangani ini?

Barka
sumber
5
Hanya catatan jika ada orang lain yang mengalami ini. Nuget 2.7 memperkenalkan tipe baru pemulihan paket. Jika Anda mencoba menambahkan proyek yang menggunakan gaya lama ke solusi yang menggunakan gaya baru, Anda akan mendapatkan kesalahan yang sama. Cara untuk memperbaikinya adalah dengan memigrasi proyek ke gaya baru: docs.nuget.org/docs/workflows/…
Slapout

Jawaban:

171
  1. Pasang Nuget.
  2. Klik kanan pada solusi dan pilih "Enable NuGet Package Restore". Dalam Visual Studio 2013 dan yang lebih baru, pilih "Pulihkan Paket NuGet" sebagai gantinya.
  3. Klik Ok di peringatan.
  4. Tutup dan buka kembali solusinya.

Sekarang harus keren-perahu.

Frank Hagenson
sumber
2
Terima kasih untuk ini, alangkah baiknya jika mereka memberikan pesan kesalahan yang lebih bermanfaat di VS untuk itu.
rossisdead
2
Saya masih mendapatkan kesalahan ini meskipun ini tidak lagi berlaku untuk nuget 2.7
thepaulhalaman
Anda perlu melakukan solusi yang disebutkan @Slapout (mengomentari pertanyaan asli)
JasonS
Masih tidak berfungsi di sini, dikatakan bahwa tidak ada lagi dependensi untuk dipulihkan. Saya telah menghapus folder paket dan memulihkannya beberapa kali :(
rodrigorf
23

Alternatifnya adalah dengan mengedit file .csproj dengan texteditor dan menghapus atau mengomentari segmen tersebut.

MeanGreen
sumber
4
Untuk memperluas kasus ini - jika Anda memindahkan proyek dari solusi dengan file .nuget \ nuget.target eksplisit ke yang baru, Anda akan melihat masalah ini (bahkan setelah memulihkan paket NuGet.) Dalam kasus ini, buat nuget .target atau edit file proyek secara manual.
ThisGuy
Saya juga menerapkan solusi ini karena proyek saya menggunakan non paket NuGet dan VS tampaknya telah membuat barang ini secara otomatis. Terima kasih surga untuk kontrol versi yang memungkinkan untuk mengeluarkan baris tambahan dari .csproj.
Ivan G
Segmen mana yang harus dibuang?
Zapnologica
18

Kesalahan ini biasanya terjadi ketika Anda mencoba untuk membuka secara .csprojlangsung, bukan melalui file solusi, dan .csprojmengimpor Nuget menargetkan seperti ini:

<Import Project="$(SolutionDir)\.nuget\NuGet.targets" />

Untuk mengatasinya, Anda dapat membuka .slndan bukan .csprojsecara langsung ... atau menghapus importbaris di atas.

Perhatikan bahwa kesalahan yang disebutkan hanya akan terjadi ketika Anda menggunakan solution wisepemulihan paket, yang bahkan tidak disarankan lagi.

André Pena
sumber
2
Ini adalah masalah yang saya miliki.
sparkyShorts
1
penghapusan "baris impor di atas". melakukan trik untuk saya. Terima kasih!!
Bart
5

Baru saja mengalami masalah yang sama, tetapi dalam kasus saya masalahnya adalah spasi di nama folder:

Nuget mengatakan kepada saya bahwa ia tidak dapat menemukan "C: \ git \ My Path" tetapi saya dapat menavigasi ke "C: \ git \ My% 20Path". Menghapus ruang di nama folder "memperbaiki" masalah.

Joe Zack
sumber
Ini adalah masalah saya - terima kasih banyak!
D.Nielsen
2

Saya tahu saya terlambat ke pesta, tetapi berikut adalah tutorial yang sangat bagus tentang cara memperbaiki masalah ini. Saya menggunakan ini untuk memperbaiki proyek saya.

Tutup Visual Studio Jika solusi yang Anda coba migrasi terbuka di Visual Studio, maka perubahan mungkin hilang. Visual Studio dapat menimpa / mengabaikan perubahan Anda dalam beberapa kasus dan ekstensi NuGet juga akan mencoba untuk mengaktifkan kembali Pemulihan Paket ketika melihat beberapa proyek dalam solusi yang hilang.

Jika Anda menggunakan TFS Hapus file NuGet.exe dan NuGet.t target dari folder solusi .nuget. Pastikan file itu sendiri juga dihapus dari ruang kerja solusi. Pertahankan file NuGet.Config untuk terus melewati penambahan paket ke kontrol sumber. Edit setiap file proyek (misalnya, .csproj, .vbproj) dalam solusi dan hapus semua referensi ke file NuGet.t target. Buka file proyek di editor pilihan Anda dan hapus pengaturan berikut:

benar ... ...

<PropertyGroup>
    <ErrorText>This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download

mereka. Untuk informasi lebih lanjut, lihat http://go.microsoft.com/fwlink/?LinkID=322105 . File yang hilang adalah {0}. Jika Anda tidak menggunakan TFS Hapus folder .nuget 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 file NuGet.t target. Buka file proyek di editor pilihan Anda dan hapus pengaturan berikut:

benar ... ...

<PropertyGroup>
    <ErrorText>This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download

mereka. Untuk informasi lebih lanjut, lihat http://go.microsoft.com/fwlink/?LinkID=322105 . File yang hilang adalah {0}. Skrip Migrasi Banyak pengguna telah meminta alat migrasi untuk menonaktifkan pemulihan paket berbasis MSBuild dan mengonversinya ke Pemulihan Paket Otomatis. Tim NuGet telah memutuskan untuk tidak menyediakan alat yang didukung untuk ini karena kemungkinan besar kasus tepi yang tidak dapat ditangani. Namun, Owen Johnson telah membuat skrip PowerShell yang dapat berfungsi dalam banyak kasus. Ini tersedia di GitHub dan dapat digunakan dengan risiko Anda sendiri. Dengan kata lain, pastikan untuk berkomitmen pada kontrol sumber sebelum menjalankannya, untuk berjaga-jaga jika tidak berhasil dalam skenario Anda.

Nuget.target Fix

JEuvin
sumber
1

Ketika saya mendapatkan nuget.targets not foundkesalahan saya menggunakan manajer paket ke uninstall-packagesalah satu paket dalam proyek dan kemudian menginstalnya kembali menggunakan install-package. Sepertinya itu membuat ulang file nugets.target.

Mikha
sumber
1

Solusi termudah saat Anda mendapatkan kesalahan ini untuk memulihkan yang hilang NuGet.targetsdi Visual Studio Solution Explorer adalah:

  1. Klik kanan pada file solusi
  2. Dari menu konteks klik opsi " Enable Nuget Package Restore ..."

ini akan mengunduh berkas yang hilang di .nugetfolder " " :)

Di atas mengasumsikan Anda sudah menginstal Nuget - jika tidak ikuti jawaban yang diterima di atas!

PEMBARUAN: Harap dicatat untuk versi Visual Studio setelah 2013 opsi ini disebut " Kembalikan Paket NuGet "

Emil
sumber
1
Saya tidak memiliki opsi aktifkan pemulihan paket nuget. Saya baru saja restore nuget packages.
Zapnologica
Memperbarui jawabannya - ini adalah nama baru dari opsi menu setelah VS2013
Emil