Aracılığıyla paylaş


NuGet Hatası NU1011

Aşağıdaki PackageVersion öğeleri kayan bir sürüm belirtemez: PackageName.

Sorun

Proje, NuGet Central Paket Yönetimi'ni kullanacak şekilde yapılandırılır ve özniteliği için Versionkayan sürüm değerini belirten bir <PackageVersion /> öğe tanımlanır:

<ItemGroup>
  <PackageVersion Include="PackageName" Version="1.*" />
</ItemGroup>

Varsayılan olarak, <PackageVersion /> öğeler kayan sürümleri belirtemez. NuGet'in Merkezi Paket Yönetimi , kullanıcılara paket sürümlerini tek bir konumda yönetmenin yanı sıra belirlenimci ve güvenli geri yükleme olanağı sağlar. Kayan sürümlerin kullanımı, bir akışa gönderildikten sonra derlemenize hatalı bir paketin sunulması olasılığını getirir. Bu durum, deponuzda hiçbir değişiklik yapmadan yeni bir paketteki bir sorun nedeniyle aniden bir şeyin bozulmasına neden olabilir ve kayan sürümü kaldırmadan veya paketin düzeltilen daha yeni bir sürümünü göndermeden iyi bir duruma geri dönmenin hiçbir yolu yoktur. Kayan olmayan sürümlerin kullanılması, bir pakete yapılan her yükseltmenin deponuzdaki bir işleme tarafından yedeklendiği anlamına gelir; bu da kesmeye hangi değişikliğin neden olduğunu belirlemeyi kolaylaştırır ve iyi bir duruma geri dönmek için işlemeyi geri almanıza olanak tanır.

Ayrıca, Merkezi Paket Yönetimi'ningeçişli sabitleme özelliğini kullanırken, kayan bir sürümü geçersiz kılma olarak kullanmak, farklı projelerin geri yüklemelerinin paket için sabitlenmesi gereken farklı sürümlerle sonuçlanması ve bu nedenle merkezi olarak tanımlanmış sürümü kullanma taahhüdünün ters dönmesine neden olabilir.

NuGet, paket sürümlerini up-togüncel tutmak için Dependabot gibi otomasyonu kullanmanızı önerir. Bu yöntem paket sürümlerini güncelleştirmenin kolay bir yolunu sağlarken, bir çekme isteğinin mevcut geliştirici iş akışına tümleştirme, otomatik derleme doğrulama ve deponuzdaki bir işleme tarafından desteklenen tüm işlemleri test etme olanağı sunar.

Çözüm

<ItemGroup>
  <PackageVersion Include="PackageName" Version="1.0.0" />
</ItemGroup>
  • Bu mümkün değilse veya Kayan sürümleri Merkezi Paket Yönetimi ile kullanmak istiyorsanız, bir MSBuild özelliği ayarlayarak bunu yapabilirsiniz:
<PropertyGroup>
  <CentralPackageFloatingVersionsEnabled>true</CentralPackageFloatingVersionsEnabled>
</PropertyGroup>