2016-10-12 27 views
8

ile bitti Bir sınıf kitaplığı project.json hedefini netstandard1.3 ve net64 hedef için güncelleştirdim. O değişiklikleBelirtilen bağımlılık X idi ama Y

:

$ dotnet restore 
log : Restoring packages 
warn : Dependency specified was NETStandard.Library (>= 1.3.0) but ended up with 
     NETStandard.Library 1.6.0. 

Bir kitaplık yayıncılık ve gerçekten netstandard1.3/net46 hedef gerekir ediyorum.

Bunun yerine daha yüksek bir sürümün kullanılmakta olduğunu nasıl teşhis edebilirim?

cevap

6

Bunu bir NuGet issue üzerinde takip ettim ve @emgarten, NETStandard.Library paketinin sadece 1.6.0 sürümüne sahip olduğunu, ancak bu 1.6.0 sürümünün netstandard1.3 için derlemeler içerdiğini belirtti.

Bu durumda, istediğim 1.3 sürümü herhangi bir yerde mevcut değil ve uyarı bunun yerine daha yüksek bir sürüm kullandığını belirten bir bildirimdir. Bununla birlikte, tanı yine de daha bilgilendirici olabilirdi. Ayrıca sizi silene ve daha net görmesini istiyorsanız vote on the issue.

1

NuGet ile uğraşmıyorsanız, ama benim durumumda olduğu gibi kendi projelerinizde olduğu gibi, bu hata da oluşabilir.

Yapmak istediğiniz ilk şey, Solution Items -> global.json numaralı belgede belirtilen doğru sürüme sahip olduğunuzdan emin olmaktır.

  1. açın project.json ve uyarısını
  2. kaydet dosyayı vererek hattı kesti: VS2015 her zaman düzgün yenilemez beri

    Sonra, bu projeyi yönlendiren her project.json yenilemeniz gerekebilir ve

  3. Kaydet geri dosyayı tekrar
satırını yapıştırın kaybolmaya 'Paketleri devrede ... mesajın' bekleyin

Bir yenilemeyi zorlamanın başka bir yolu, çözüm veya proje düzeyinde dotnet restore --no-cache'u çalıştırmaktır.

0

Ortak bir kitaplık projesi birden fazla çözümdeyken bu sorunu yaşadım.

Kitaplık projesinin dizin konumu değiştirildi ve global.json dosyası tek bir çözümde güncelleştirildi.

Diğer tarafta, sln dosyası projenin yeni dosya konumu için güncelleştirildi. Ancak, global.json değil. Proje daha yüksek bir dizine taşındığından, eski global.json dosyası çok özel bir konum referansı yapıyordu.

0

Benim için sadece silme işlemi kilit dosyasını (project.lock.json) sildi. Bu dosyayı sildikten sonra, Nuget tüm paketleri otomatik olarak geri yükledi ve problem ortadan kalktı.Bu herkes için çalışacak şeyler yapmanın derin yolu ise

Yasal Uyarı

benim için çalıştı rağmen, emin değilim. Bu nedenle, bu dosyayı silmeden önce ne yaptığınızı bil.

İlgili konular