Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A következő PackageVersion-elemek nem adhatnak meg lebegő verziót: PackageName.
Probléma
Egy projekt a NuGet Central Package Management használatára van konfigurálva, és egy <PackageVersion /> elem van meghatározva, amely egy lebegő verzióértéket ad meg az Version attribútumhoz:
<ItemGroup>
<PackageVersion Include="PackageName" Version="1.*" />
</ItemGroup>
Alapértelmezés szerint az <PackageVersion /> elemek nem adhatnak meg lebegő verziókat.
A NuGet központi csomagkezelése lehetővé teszi a felhasználók számára a csomagverziók egyetlen helyen történő kezelését, valamint a determinisztikus és biztonságos visszaállításokat.
A lebegő verziók használata lehetővé teszi, hogy egy rossz csomag bekerüljön a buildbe, miután le lett küldve egy hírcsatornába.
Ez olyan helyzethez vezethet, amikor nem módosította az adattárat, de hirtelen valami megszakadt egy új csomag hibája miatt, és nincs mód arra, hogy visszatérjen a megfelelő állapotba anélkül, hogy eltávolítaná a lebegő verziót, vagy leküldné a csomag egy újabb verzióját, amely javítva van.
A nem lebegő verziók használata azt jelenti, hogy egy csomag minden frissítését egy véglegesítés segíti az adattárban, így könnyen meghatározható, hogy mi okozta a törést, és lehetővé teszi a véglegesítés visszaállítását, hogy visszakerüljön a megfelelő állapotba.
A Central Package Managementtranzitív rögzítési funkciójának használatakor a lebegő verzió felülbírálásként való használata esetén a különböző projektek visszaállítása a csomag különböző verzióival végződhet, amelyeket rögzíteni kell, így a központilag meghatározott verzió használatának ígéretével szemben.
A NuGet azt javasolja, hogy a Dependabothoz hasonló automatizálással tartsa meg a csomagverziókat up-to- dátumot, amely leegyszerűsíti a csomagverziók frissítését, miközben integrálható a meglévő fejlesztői munkafolyamatba egy lekéréses kérelemből, automatikus buildérvényesítésből és az adattárban lévő véglegesítés által támogatott tesztelésből.
Megoldás
- Javasoljuk, hogy a lebegő verziót ne lebegő verziótartományra módosítsa:
<ItemGroup>
<PackageVersion Include="PackageName" Version="1.0.0" />
</ItemGroup>
- Ha ez nem lehetséges, vagy lebegő verziókat szeretne használni a Central Package Management szolgáltatással, ezt egy MSBuild tulajdonság beállításával teheti meg:
<PropertyGroup>
<CentralPackageFloatingVersionsEnabled>true</CentralPackageFloatingVersionsEnabled>
</PropertyGroup>