NuGet Paketleri eksik


297

Bu sorunu araştırdım ama çözümlerin hiçbiri işe yaramadı. Visual Studio Professional 2015 yüklü ve TFS kullanıyorum. NuGet sürümüm 3.1.6. Bu sorun yalnızca C # Web API / MVC projemde oluyor.

Aşağıdaki hatayı alıyorum:

Bu proje, bu bilgisayarda eksik olan NuGet paketlerine başvuruyor. İndirmek için NuGet Paket Geri Yükleme'yi kullanın. Daha fazla bilgi için bkz. Http://go.microsoft.com/fwlink/?LinkID=322105 . Eksik dosya .. \ Packages \ Microsoft.Net.Compilers.1.0.0 \ build \ Microsoft.Net.Compilers.props

  1. Çözümlerimde .nuget klasörü yok.
  2. Çözümde bir paketleri klasörü var ve ben sildiğimde, NuGet bağımlılıkları yeniden yapar gibi görünüyor ama proje hala yukarıdaki hata var.
  3. Projeyi TFS'den kaldırmayı denedim ve düzeltmedi.
  4. Yukarıdaki hata ile birlikte, projedeki tüm referansların sarı uyarı işaretleri var ve eksik olduklarını söylüyorlar.
  5. NuGet Paket Yöneticisi'ni proje için kontrol ettiğimde, "eksik" olan her şeyin yanında Microsoft.Net.Compilers dahil olmak üzere yeşil bir onay işareti var.
  6. Yeni bir Web API / MVC projesi eklemeye çalıştım ve benzer bir sorunla yüzleşti ve Owin gibi referansların çoğu sarı uyarı işaretiyle "kayıp" oldu.

yeni kullanıcıların gönderdiği düşük kaliteli kesme miktarından dolayı bu soruyu kapatmak için oy kullandı.
ZF007

Yanıtlar:


265

Bugün aynı hatayla karşılaştım (tam olarak aynı paketi eksik). Ayrıca bir MVC + Web API projesi oluşturdum.

Uygulama dosyalarını (.csproj dahil) başka bir konuma taşıdım çünkü oldu. El ile .sln dosyasını güncelledim, ancak tüm paketler bağımlılıkları (Visual Studio 2015) .csproj dosyasında depolandı.

.Csproj dosyasını düzenlemek ve çözüm klasörüne (paket klasörünü içeren) göreceli yolunu düzeltmek sorunu benim için çözdü.


2
Microsoft.Net.Compilers ... klasörünü, bir taşıma işleminden sonra eksikse eski paketler klasöründen yeni paketler konumuna kopyalamak son bir adım olabilir.
Justin Wignall

2
O paketi bilgisayarımdan kaldırdım ve işe yaradı.
SpoiledTechie.com

1
Bir projeyi fiziksel olarak Visual Studio çözümünde farklı bir konuma taşırken da hatayla karşılaştım. Bu sayfadaki çözümlerin hiçbiri işe yaramadı, bu yüzden projenin bir kopyasını yaptım (dosya sisteminde) ve VS'deki orijinal projeye tüm referansları tamamen kaldırdım. Daha sonra projeyi yeniden oluşturdum ve parçaları ve parçaları kopyaladım (yaptığım kopyadan). Zahmetli, ama işe yaradı.
Andrew Jens

2
Projeyi bir yerden başka bir yere taşıdıktan sonra da aynı sorunu yaşadım. ".Csproj" dosyasındaki paketlerin yolunun düzeltilmesi sorunu çözdü.
Nirman

2
@ MiłoszWieczorek Komutu Paket Yöneticisi Konsolu'nda çalıştırmayı denedim ve sorunu çözmedi. Tüm paketleri yeniden yükledi, ancak referanslar hala bulunamadı.
Francisco d'Anconia

360

Bu kodu .csprojdosyadan kaldırarak sorunumu çözdüm :

<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
  <PropertyGroup>
    <ErrorText>This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them.  For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
  </PropertyGroup>
  <Error Condition="!Exists('$(SolutionDir)\.nuget\NuGet.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(SolutionDir)\.nuget\NuGet.targets'))" />
</Target>

5
Projeye birden fazla ayrı çözümde başvurduğum için kabul edilen cevap işe yaramayacaktı. Tek düzeltme buydu. Yorum ve aa cazibesi gibi çalıştı.
Levi Fuller

31
Yanlış olabilirdim, ama bunun "sivri uçlu çekiçle çarptığı" olduğuna inanıyorum. Sebebi ne olursa olsun, yayınlanan konum, olur başka gerekli Nuget paketi kaybeder ise değil size sahte bir pozitif (yani dağıtım başarılı, ancak sistem başarısız) vererek hatası. Hayran değil, ama bunu aşağıya düşürmeyeceğim, çünkü nugetin hala tanımadığım yönleri var.
HeyZiko

4
Bu da benim için çalıştı. Hata mesajının projenin dosyasında sabit kodlanmış olması garip ...
Ryan Peters

7
Bu sorunun VS 2017'de hala mevcut olduğunu doğruladı. Visual studio 2015'ten 2017'ye bir proje taşıdım ve 2017'de ilk derleme üzerine bu hata mesajını aldım. Bu hatayı düzeltti.
Tom McDonald

2
Bunu yaparken neden işlevselliği silmeli, projenizi bozma vb. Risk almalısınız? @HeyZiko'nun belirttiği gibi, bu daha sonra sorunlara yol açabilir. Ben sadece "Paket geri yüklemeyi etkinleştir" hata durumlarını yapabilirdi. Cevabımı bu sayfadaki bir yere bakın ...
Nicow

45

DİKKAT - Bu sadece proje için değil tüm çözüm için paketleri günceller.

Çözümünüzü oluştururken hata veren bir tane daha eksik nuget paketiniz varsa, Araçlar> Nuget Paket Yöneticisi> Paket Yöneticisi Konsolu'ndaki Nuget Komut Konsolu'nu kullanarak aşağıdaki komutu kullanın. Mevcut tüm paketlerinizi yeniden yükleyecektir.

Update-Package –reinstall

Güncelleme:

Belirli bir proje adını parametre olarak iletebilirsiniz.

Update-Package –reinstall -ProjectName SampleApp

1
Bu benim için çalıştı. Bir sistemdeki değişiklikleri git ve başka bir sisteme çektikten sonra hata benim için ortaya çıktı. Belki benim .gitignore nuget paketleri için düzgün yapılandırılmamış.
Patrick Borkowicz

16
Dikkat edin ... Bu sadece proje için değil tüm çözüm için paketleri günceller.
SO Kullanıcı

1
Bu benim için çalıştı. NuGet eksik paketler hakkında şikayet etmeye devam etti, ancak Visual Studio otomatik olarak çözümlenmedi. Tamamen çalışması birkaç dakika sürdü, ancak bu komut sorunumu çözdü.
Nick Alexander

8
Çözümün tamamı için değil, yalnızca belirli bir proje için -ProjectName parametresi ekleyebilirsiniz.
Miłosz Wieczorek

2
VS2017 bu yarım aracılığıyla çöktü ve her şeyi kırdı
rulo

19

Tam olarak sinir bozucu bir mesaj aldım. Sonunda benim için işe yarayan / paketlerin içindeki tüm dosya ve klasörleri silmek ve VS'nin bir sonraki derleme sırasında her şeyi yeniden getirmesine izin vermekti.


2
Çözüme sağ tıkladım ve Restore Nuget Packages.
Vitor Canova

1
Çözümü sağ tıkladığınızda herhangi bir Geri Yükleme Nuget Paketim yok .... VS 2013 kullanıyorum ..
Ziggler

ayrıca doğru pakete geri yüklendiğinden emin olmak zorundaydı. paketleri klasörü konumu için note / Edit * .csproj kullanarak
.csproj'u

15

Tiberiu doğrudur. Dosyalar taşınır ve bu soruna neden olurken .csproj dosyamı düzenlemek zorunda kaldım

 <Import Project="..\..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.1\build\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props" Condition="Exists('..\..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.1\build\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props')" />

Dosyanın üstünde ve altında değiştim

<Error Condition="!Exists('..\..\packages\Microsoft.Net.Compilers.1.0.0\build\Microsoft.Net.Compilers.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\Microsoft.Net.Compilers.1.0.0\build\Microsoft.Net.Compilers.props'))" />
<Error Condition="!Exists('..\..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.1\build\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.1\build\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props'))" />

sonunda benim için işe yarayan sadece dosyanın sonundaki satırı düzenlemekti, ama üstte değil
ISAE

15

bu şekilde hatamı çözdü: .csproj dosyasını Visual Studio 2015+ Solution Explorer'da güncellemek üzere açmak için:

Proje adını sağ tıklayın -> Projeyi Kaldır

Proje adını sağ tıklayın -> .csproj dosyasını düzenle

Aşağıdaki satırları kaldırın:

<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
    <PropertyGroup>
      <ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them.  For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
    </PropertyGroup>
    <Error Condition="!Exists('..\packages\Microsoft.Net.Compilers.1.0.0\build\Microsoft.Net.Compilers.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.Net.Compilers.1.0.0\build\Microsoft.Net.Compilers.props'))" />
    <Error Condition="!Exists('..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.0\build\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.0\build\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props'))" />
    <Error Condition="!Exists('packages\Microsoft.Net.Compilers.1.0.0\build\Microsoft.Net.Compilers.props')" Text="$([System.String]::Format('$(ErrorText)', 'packages\Microsoft.Net.Compilers.1.0.0\build\Microsoft.Net.Compilers.props'))" />
    <Error Condition="!Exists('packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.0\build\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props')" Text="$([System.String]::Format('$(ErrorText)', 'packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.0\build\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props'))" />
  </Target>

Proje adını sağ tıklayın -> Projeyi Yeniden Yükle

Sonunda çözümünüzü oluşturun.


El ile csproj yolları sabitledikten sonra EnsureNuGetPackageBuildImports bölümünü kaldırıldı ve mükemmel çalıştı. thanks
willyMon

11

Aşağıdaki kodu .csproj dosyasından kaldırarak bu sorunu çözdüm

<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
<PropertyGroup>
  <ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them.  For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
</PropertyGroup>
<Error Condition="!Exists('..\..\..\Assemblies\NuGet\SpecFlow.Plus.Excel.1.4.2\build\SpecFlow.Plus.Excel.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\Assemblies\NuGet\SpecFlow.Plus.Excel.1.4.2\build\SpecFlow.Plus.Excel.targets'))" />


1
Ama neden ilk etapta bunlar yanlış? Visual Studio'da hata?
Koruyucu bir

8

2 cevabın bir kombinasyonu benim için çalıştı. Öncelikle 1.0.0 sürümüne başvuruyu kaldırmak için .csproj dosyasını değiştirdim

< Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild" >

  ----Error---

< /Target>

ve sonra yaptı

Update-Package -Reinstall

ve işe yaradı.


6

Benim için sorun, çözümü yeni bir klasöre kopyalayıp açtığımda, aşağıda gösterildiği gibi Nuget klasörünün eksik olmasıydı. Bu klasörü kopyaladım ve her şey işe yaradı. Not: Bu aynı klasör kaynak kontrolümüzdeydi, ancak bu çözümler projesinde değil, bir dizindeydi.

resim açıklamasını buraya girin


6

NuGet Paket Geri Yüklemeyi etkinleştirmeniz yeterlidir. Çözümünüzü sağ tıklayın> 'NuGet Paket Geri Yüklemeyi Etkinleştir'i seçin.

Çözümünüzü sağ tıklayın> 'NuGet Paket Geri Yüklemeyi Etkinleştir'i seçin

Bu, NuGet.Config dosyasıyla .nuget klasörünü oluşturacak ve sorunumu çözecektir.


Teşekkürler!! Ben de benzer bir durumla karşılaştım ve 'NuGet Paket Geri Yüklemeyi Etkinleştir' çalıştı.
Jain Prince

18
Benim için uyandı, "Tüm paketler zaten kurulu ve geri yüklenecek bir şey yok" diyor.
Dalibor

5

VS2012 kullanıyorum ve aynı hatayla karşı karşıyayım. Aşağıdaki Hedef etiketini .csproj dosyasından kaldırdım ve herhangi bir hata olmadan derlemeye başladı.

<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
  -- Error messages within Target Tag
</Target>

5

Buradaki yanıtlardan birkaçını genişletmek için, evet .csproj dosyanızdan aşağıdaki bloğu kaldırabilirsiniz:

<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">

ve bu sorunu giderir, ancak benim durumumda, ben farklı sürümleri ile .NET.Compilers ve .CodeDom.Providers ek başvuruları olduğunu fark ettim:

<Error Condition="!Exists('..\packages\Microsoft.Net.Compilers.1.0.0
<Error Condition="!Exists('..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.0\

<Error Condition="!Exists('..\packages\Microsoft.Net.Compilers.2.0.1
<Error Condition="!Exists('..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.3\

Benim Packages.config yalnızca aşağıdakilere başvurduğunda:

<package id="Microsoft.Net.Compilers" version="2.0.1"
<package id="Microsoft.CodeDom.Providers.DotNetCompilerPlatform" version="1.0.3"

1.0.0 öğelerini .csproj dosyasından kaldırmak sorunu çözdü.


2

Burada yaşadığım sorunla karşılaşan herkes için (bazı paketler bir yapı sunucusunda geri yüklenmiyor), benim için bulmacanın son parçası, çözümümün köküne .SLN'ye kardeş olarak bir NuGet.config ekliyordu. David Ebbo'nun açıkladığı dosya: http://blog.davidebbo.com/2014/01/the-right-way-to-restore-nuget-packages.html .

Ebbo'nun blog gönderisinden, benim için dosya içeriği basitçe

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <packageSources>
    <add key="nuget.org" value="https://www.nuget.org/api/v2/" />
  </packageSources>
</configuration>

GÜNCELLEME:

NuGet API URL'si v3 için değişti (Eylül 2016 itibarıyla geçerlidir). Gönderen https://www.nuget.org/

<add key="nuget.org" value="https://api.nuget.org/v3/index.json" />

1

Hata mesajı tamamen doğrudur. Tüm hileleri denedim ve hiçbiri işe yaramadı. Proje (basit MVC Web App testi) Windows 8.1 VS 2015 Topluluğu'ndan Windows 10'daki yeni test kutuma taşındı. VS 2015'teki en son güncellemeler uygulandı. Derleyiciler paketinin daha yeni bir sürümünü bile yükleyemedim.

Loop:
<LOOP>This seems to be a Ground Hog Day phenomena.</LOOP>
GoTo Loop

Sonunda Microsoft.Net.Compilers.1.0.0'ı eski projeden yenisine kopyaladım ve işe yaradı. Daha sonra diğer paketleri yeni sürüme güncellemeye başlayabilirim. Bana bir nuget projesi yükseltme işlemi hatası gibi görünüyor.

NOT: Orijinal proje VS 2015'te oluşturulmuştur ve herhangi bir eski külçe metodolojisi yoktur.


1

Benim durumumda çalışan çözüm - Visual Studio 2015 Enterprice, proje .NET 4.6.1

  1. Güncelleme 3'e geçin
  2. Web geliştirici araçlarını yükleme

Visual studio kurulum sihirbazı


1

Benim için, paketler doğru yolun altındaydı, ancak paket klasörünün içindeki derleme klasörleri yoktu. Ben sadece eksik olduğunu söyledi tüm paketleri kaldırıldı ve çözüm yeniden ve başarıyla yapı klasörleri ve .props dosyaları oluşturdu. Bu yüzden, bir şeylerin kaçırıldığını bildiren hata mesajları doğruydu.


1

Git'ten dağıtıldığında Azure'da başarısız bir derleme olarak bu sorunu yaşadım.

Görünüşe göre .gitignore buildklasörü hariç tutuyordu ..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.2.0.0\build\net46\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props.

Bir kez buildklasör Git taahhüt (kuvvet) idi, konu çözüldü.


1

Aynı sorunu aşağıdaki adımlarla çözdüm

  1. Paket kaldırıldı <package id="Microsoft.CodeDom.Providers.DotNetCompilerPlatform" version="2.0.1" targetFramework="net46" /> package.config dosyasından .
  2. .Csproj proje dosyasını düzenleyin ve aşağıdaki ayarları kaldırın. <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">     <PropertyGroup>       <ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them.  For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>     </PropertyGroup>     <Error Condition="!Exists('..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.2.0.1\build\net46\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.2.0.1\build\net46\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props'))" />   </Target>

    1. Paket yöneticisi konsoluna gidin ve komutu çalıştırın Update-Package –reinstall

Nokta 2 ve 3 diğer kullanıcılar tarafından verildi ve bu kullanıcıları takdir ediyorum. Nokta # 1, Microsoft.CodeDom.Providers.DotNetCompilerPlatformpackage.config dosyasından kaldırılması daha önemlidir. Ayrıca, 3. maddede belirtilen komutu çalıştırdıktan sonra sorun çözüldü. Tüm istenmeyen paketler kaldırıldı ve gerekli paket referansı güncellendi.

Umarım bu birine yardımcı olur.


0

Ben nuget.exe bir kopyasını ve aşağıdaki içeriği ile prebuild.ps1 adlı çözümün kök dizinine bir powershell komut dosyası ekledi bu herhangi bir çözüm bulamadı.

$nugetexe = 'nuget.exe'
$args = 'restore SOLUTION_NAME_HERE.sln'
Start-Process $nugetexe -ArgumentList $args

Bu powershell betiğini Derleme Öncesi komut dosyası yolundaki yapımda çağırdım resim açıklamasını buraya girin


0

Benim çözüm paketleri ve proje klasörü ile birlikte paketleri klasörünü kopyalarken çalıştı. Paketler klasörünü önceki yerden kopyalamamıştım.


0

Önerilen hata mesajını ipucu olarak da kullanabilirsiniz. Aşağıda, Çözüm için Paketleri Yönet'i bulun ve eksik nuget çözümünü tıklayın.

Bu kadar


0

Derleyici Seçeneğini WebConfigşöyle yorumlayın :

<!--<system.codedom>
<compilers>
  <compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:6 /nowarn:1659;1699;1701" />
  <compiler language="vb;vbs;visualbasic;vbscript" extension=".vb" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.VBCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:14 /nowarn:41008 /define:_MYTYPE=\&quot;Web\&quot; /optionInfer+" />
</compilers>
</system.codedom>-->

Paket Yapılandırma Dosyasındaki Paketlerin Son Sürümünü Güncelleme

  <package id="Microsoft.CodeDom.Providers.DotNetCompilerPlatform" version="1.0.4" targetFramework="net452" />

Her şey yolundaysa yeniden oluştur, devam etmeye gerek yok, başka projeyi sağ tıklayın, 'projeyi kaldır'ı tıklayın Projeyi tekrar sağ tıklayın ve .csproj dosyasını düzenleyin

Codedom yolunu doğrulayın, önceki yollarda net45'e sahip değildi, manuel olarak ekleyin, kaydedin, yükleyin, yeniden oluşturun. İşe yaramalı.

<Import Project="..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.4\build\net45\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props" Condition="Exists('..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.4\build\net45\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props')" />

0

Önerildiği gibi <Target>etiketi kaldırmak derlemeyi yapabilir hale getirebilir. Yine de, test projeleri için yaptığınızda bunun bir yan etkisi olduğuna dikkat edin.

MSTest.TestAdapterDerleme sırasında nuget paketi ile ilgili hata aldım . Bu sorunu kaldırarak çözüldü<Target>Etiketi . Her ne kadar başarılı bir yapım sağlamasına rağmen, test yöntemleri keşfedilemez hale geldi. Test gezgini bu projedeki test yöntemlerini listelemez ve Testi Çalıştır veya Hata Ayıklama Testi de çalışmaz.

Bunu kullanırken karşılaştım Visual Studio 2017ve .Net framework 4.7diğer sürümlerde çok iyi olabilir


1
VS2017, .Net4.7 ve bir birim test projesi kullanarak tam olarak bu sorunu yaşıyorum. Bu proje birden fazla çözüme eklendi. Otomatik geri yükleme ancak yanlış yerde çalışıyor. İş ile değiştirin $(SolutionDir)ancak güncelleme başarısız oluyor. Bunu burada sordum . Herhangi bir çözüm buldunuz mu?
Sebastian Schumann

0

Benim için sorun NuGet'in tam dosya yolu çok büyük olacağı için paketleri otomatik olarak alamadığı / güncelleyememesiydi. Çözümümü derinden iç içe geçmiş bir klasör yerine Belgelerim'deki bir klasöre taşıyarak düzeltildi .

Daha sonra çözüme sağ tıklayıp "NuGet Paketlerini Geri Yükle" yi seçin (bu sadece sizin oluşturup sizin için yapmasına izin verirseniz gerekli değildir) ve ardından tüm paketleri almak için "Çözüm için NuGet Paketlerini Yönet" i seçin en son sürüme güncellendi.

Bu, Microsoft'un web sitesinden indirilen örnek bir ASP MVC uygulamasının çözümü içindi.


0

DevOps / build mühendisleri için, bu çalışmayı nuget restoreetkilenen SLN'ye karşı düzeltebilir veya bir SLN'niz yoksa projelendirebilirsiniz. Bunu tüm UWP projelerimiz için CI / CD yapılarımız için yapmak zorundayım.

  1. Nuget'in Visual Studio veya tek başına yapı bağımlısına yüklendiğinden emin olun. İkincisi ise, PATH'de olduğundan emin olun ve 2. adımı atlayın.
  2. VS Dev CMD konsolunu açın veya aşağıdaki talimatlarla yapabileceğiniz zaten açık bir
    konsolla yükleyin : VS2015 call "%VS140COMNTOOLS%VsDevCmd.bat"
    veya
    VS2017call "%ProgramFiles(x86)%\Microsoft Visual Studio\2017\Enterprise\Common7\Tools\VsDevCmd.bat"
  3. call nuget restore MyStuff.SLNveya call nuget restore MyStuff.csprojSLN yoksa.

0

Bu kimseye yardımcı olacak emin değilim, ancak çözüm dosyasını TFS'ye kaydetmeden yerel makinemden kaynak kodunu sildiğimde bu sorunla karşılaştım. (İlk geliştirme sırasında, Çözüm Gezgini'nde projeyi sağ tıklatıp kontrol ediyordum, ancak çözümün kendisini kontrol etmeyi unuttum.) Bu konuda tekrar çalışmam gerektiğinde, TFS'de sahip olduğum tek şey .csproj dosyasıydı, .sln dosyası yok. Bu yüzden VS'de bir Dosya -> Kaynak Kontrolü -> Gelişmiş - Sunucudan Aç ve .csproj dosyasını açtım. Oradan bir Save All yaptım ve bana nerede .sln dosyasını kaydetmek istediğimi sordu. Bu .sln dosyasını diğer klasörlerle (App_Data, App_Start, vb.) Proje dizinine, üst düzey dizine kaydetmiyordum. Sonunda .sln dosyasını proje klasöründen bir dizine kaydetmem gerektiğini anladım ' proje klasörü ile aynı seviyededir. Tüm yollarım çözüldü ve tekrar inşa edebildim.


0

Benim için gitignore dosya paketleri klasörümü görmezden geliyordu. Aşağıdaki gitignore satırı soruna neden oluyordu -

**/packages/*

Kaldırıldı ve paketlerim klasörü geri yüklendi. Umarım bu başka birine yardımcı olur.


0

Bu hata etrafında bir düzeltme var, aslında benim paketleri klasöründe ve .csproj dosya başvuruları MSTest.TestAdapter (1.1.0) işaret MSTest.TestAdapter (1.3.2) farklı bir sürümü vardı. Tüm MSTest.TestAdapter (1.1.0) MSTest.TestAdapter (1.3.2) yerine ve bu sorunumu çözdü.


0

Bu sorunun eski olduğunu anlıyorum, ancak bugün aynı duruma geldim ve yakın zamanda bu sorunu bulan herkes için 2 sentimi atmak istedim. Çözümümde el ile bir alt klasöre el ile taşıdım ve sonra Visual Studio 2017 kullanarak kaldırıldı ve çözüme okuduğum bir ASP MVC projesi belirtilen hatayı veriyordu. "Lib" ve "paketler" klasörlerini MVC projesi ile aynı alt klasörün kök dizinine taşımak sorunumu çözdü.


0

Aynı sorunu yaşıyordum, atıfta bulunduğum projelerden birinin çözüm dizininin dışında olduğu ortaya çıktı (ve bu nedenle aynı '/ paketleri' klasörünü paylaşmadı). Benim için işe yarayan çözüm, referans projenin çözümünü açmak ve orada oluşturmaktı. Bu proje inşa edildikten sonra hatalar ortadan kalktı.

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.