Nuget.targets bulunamadı hatası nedeniyle Visual Studio'da proje açılışı başarısız oluyor


105

Bu yüzden Twitterizer'ı http://www.twitterizer.net/downloads/ adresinden indirdim.

Bunu Visual Studio'da açmaya çalışıyorum ve tüm bu nuget hatalarını alıyorum:

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.

Ne oluyor. Bununla nasıl başa çıkacağım?


5
Başkasının bununla karşılaşması ihtimaline karşı bir not. Nuget 2.7, yeni bir paket geri yükleme türü tanıttı. Yeni stili kullanan bir çözüme eski stili kullanan bir proje eklemeye çalışırsanız, aynı hatayı alırsınız. Düzeltmenin yolu, projeyi yeni stile taşımaktır
Slapout

Yanıtlar:


171
  1. Nuget'i yükleyin.
  2. Çözüme sağ tıklayın ve "NuGet Paket Geri Yüklemeyi Etkinleştir" seçeneğini seçin. Visual Studio 2013 ve sonraki sürümlerde, bunun yerine "NuGet Paketlerini Geri Yükle" yi seçin.
  3. Uyarı üzerinde Tamam'ı tıklayın.
  4. Çözümü kapatıp yeniden açın.

Şimdi yakışıklı olmalı.


2
Bunun için teşekkürler, bunun için VS'de daha yararlı bir hata mesajı verirlerse iyi olur.
rossisdead

2
Bu artık NuGet 2.7 için geçerli olmasa da hala bu hatayı alıyorum
thepaulpage

Çözümü yapmanız gerekiyor @Slapout bahseder (orijinal soruya yorum)
JasonS

Hala burada çalışmıyor, geri yüklenecek başka bağımlılık olmadığını söylüyor. Paket klasörünü zaten sildim ve birkaç kez geri
yükledim

23

Bir alternatif, .csproj dosyasını bir metin düzenleyiciyle düzenlemek ve bölümü kaldırmak veya yorum yazmaktır.


4
Bu durumda genişletmek için - bir projeyi açık bir .nuget \ nuget.targets dosyasına sahip bir çözümden yeni bir dosyaya taşırsanız, bu sorunu görürsünüz (NuGet paketlerini geri yükledikten sonra bile.) Bu durumda, nuget'i oluşturun .targets veya proje dosyasını manuel olarak düzenleyin.
ThisGuy

Projemde NuGet paketlerinin kullanılmadığı ve VS'nin bu şeyleri otomatik olarak oluşturduğu görüldüğü için bu çözümü de uyguladım. .Csproj'dan eklenen satırları atmayı mümkün kılan sürüm kontrolü için cennete teşekkürler.
Ivan G

Hangi segment çıkarılmalıdır?
Zapnologica

18

Bu hata normalde .csprojçözüm dosyası üzerinden değil, doğrudan bir açmaya çalıştığınızda .csprojve Nuget hedeflerini şu şekilde içe aktardığında meydana gelir:

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

Bunu çözmek için, ya açabilir .slnve .csprojdoğrudan ... veya kaldırmak importyukarıdaki çizgiyi.

Bahsedilen hatanın yalnızca solution wise, artık önerilmeyen paket geri yüklemesini kullandığınızda ortaya çıkacağına dikkat edin .


2
Benim sahip olduğum sorun bu.
sparkyShorts

1
"yukarıdaki içe aktarma satırı" nın kaldırılması. benim için hile yaptı. Teşekkürler!!
Bart

5

Sadece aynı problemle karşılaştım, ancak benim durumumda sorun klasör adında bir boşluktu:

Nuget bana "C: \ git \ Yolum" u bulamadığını söylüyordu, ancak "C: \ git \ My% 20Path" yolunu bulabildim. Klasör adındaki boşluğun kaldırılması sorunu "çözdü".


Bu benim sorunumdu - çok teşekkür ederim!
D.Nielsen

2

Partiye geç kaldığımı biliyorum ama işte bu sorunun nasıl çözüleceğine dair gerçekten iyi bir eğitim. Bunu projemi düzeltmek için kullandım.

Visual Studio'yu kapatın Geçmeye çalıştığınız çözüm Visual Studio'da açıksa, değişiklikler kaybolabilir. Visual Studio, bazı durumlarda değişikliklerinizin üzerine yazabilir / yok sayabilir ve NuGet uzantısı, çözümdeki bazı projelerin eksik olduğunu gördüğünde Paket Geri Yükleme'yi yeniden etkinleştirmeyi de deneyecektir.

TFS kullanıyorsanız Çözümün .nuget klasöründen NuGet.exe ve NuGet.targets dosyalarını kaldırın. Dosyaların kendilerinin de çözüm çalışma alanından kaldırıldığından emin olun. Kaynak denetimine paket eklemeyi atlamaya devam etmek için NuGet.Config dosyasını koruyun. Çözümdeki her proje dosyasını (ör. .Csproj, .vbproj) düzenleyin ve NuGet.targets dosyasına yapılan tüm başvuruları kaldırın. Proje dosyalarını istediğiniz düzenleyicide açın ve aşağıdaki ayarları kaldırın:

doğru ... ...

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

onları. Daha fazla bilgi için bkz. Http://go.microsoft.com/fwlink/?LinkID=322105 . Eksik dosya {0}. TFS kullanmıyorsanız .nuget klasörünü çözümünüzden kaldırın. Klasörün kendisinin de çözüm çalışma alanından kaldırıldığından emin olun. Çözümdeki her proje dosyasını (ör. .Csproj, .vbproj) düzenleyin ve NuGet.targets dosyasına yapılan tüm başvuruları kaldırın. Proje dosyalarını istediğiniz düzenleyicide açın ve aşağıdaki ayarları kaldırın:

doğru ... ...

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

onları. Daha fazla bilgi için bkz. Http://go.microsoft.com/fwlink/?LinkID=322105 . Eksik dosya {0}. Geçiş Komut Dosyası Birçok kullanıcı, MSBuild tabanlı paket geri yüklemesini devre dışı bırakmak ve Otomatik Paket Geri Yüklemeye dönüştürmek için bir geçiş aracı istemiştir. NuGet ekibi, işlenemeyecek uç olayların yüksek olasılığı nedeniyle bunun için desteklenen bir araç sağlamamaya karar verdi. Ancak, Owen Johnson birçok durumda çalışabilen bir PowerShell betiği yazmıştır. GitHub'da mevcuttur ve riski size ait olmak üzere kullanılabilir. Başka bir deyişle, senaryonuzda çalışmama ihtimaline karşı, çalıştırmadan önce kaynak kontrolünü taahhüt ettiğinizden emin olun.

Nuget.target Düzeltmesi


1

İ olsun nuget.targets not foundhatayı i için paket yöneticisini kullanmak uninstall-packageprojede paketlerden birini ve sonra kullanarak bunu yeniden install-package. Daha sonra nugets.target dosyasını yeniden oluşturuyor gibi görünüyor.


1

NuGet.targetsVisual Studio Solution Explorer'da eksik olanı geri yüklemek için bu hatayı aldığınızda en kolay çözüm şudur:

  1. Çözüm dosyasına sağ tıklayın
  2. Bağlam menüsünden " Nuget Paketi Geri Yüklemeyi Etkinleştir ..." seçeneğini tıklayın.

bu " .nuget" klasöründeki eksik dosyaları indirecektir :)

Yukarıdakiler, Nuget'in zaten kurulu olduğunu varsaymaktadır - yukarıdaki kabul edilen yanıtı takip etmiyorsanız!

GÜNCELLEME: seçenek olarak adlandırılır 2013 ötesine Visual Studio sürümleri için lütfen not " Nuget Paketleri Restore "


1
NuGet paketini etkinleştir geri yükleme seçeneğine sahip değilim. Ben sadece var restore nuget packages.
Zapnologica

Cevap güncellendi - bu, VS2013'ten sonraki menü seçeneğinin yeni adı
Emil
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.