Sdílet prostřednictvím


Chyba NuGet NU1011

Centrálně definované verze plovoucích balíčků nejsou povoleny.

Problém

Ve výchozím nastavení <PackageVersion /> položky nemohou obsahovat plovoucí verze. Centrální správa balíčků NuGet (CPM) je považována za funkci na podnikové úrovni, která poskytuje snadnější správu verzí ve velkém i deterministické a zabezpečené obnovení. Použití plovoucích verzí představuje možnost zavedení chybného balíčku do sestavení po jeho vložení do informačního kanálu. To může vést k situaci, kdy jste v úložišti neprovedli žádné změny, ale najednou se něco rozbilo a neexistuje způsob, jak se vrátit do dobrého stavu, aniž byste odebrali plovoucí verzi nebo nasdílel novější verzi balíčku, která je opravená. Použití ne plovoucích verzí znamená, že každý upgrade balíčku je podporován potvrzením ve vašem úložišti, což usnadňuje určení, která změna způsobila přerušení, a vrácení potvrzení zpět do dobrého stavu.

Funkce tranzitivního připnutí je navržená tak, aby umožňovala explicitně přepsat tranzitivní verze v grafu pro větší kontrolu. Použití plovoucí verze jako přepsání může znamenat, že obnovení různých projektů skončí s různými verzemi balíčku, který se má připnout, a tím se vrátí k příslibu použití centrální verze.

NuGet doporučuje používat automatizaci, jako je Dependabot , abyste zachovali aktuální verze balíčků, což poskytuje zjednodušený způsob aktualizace balíčků při integraci do stávajícího vývojářského pracovního postupu žádosti o přijetí změn, automatizovaného ověřování sestavení a testování všech podporovaných potvrzením ve vašem úložišti.

Řešení

Doporučujeme změnit plovoucí verzi na ne plovoucí rozsah verzí. Pokud to není možné, můžete povolit plovoucí verze pomocí CPM nastavením vlastnosti MSBuild:

<PropertyGroup>
  <CentralPackageFloatingVersionsEnabled>true</CentralPackageFloatingVersionsEnabled>
</PropertyGroup>