NuGet Warning NU1512

RestoreForceEvaluate felülbírálások RestoreLockedMode; a csomagok zárolási fájlja újra kiértékelésre és újragenerálásra kerül, és a zárolt mód figyelmen kívül lesz hagyva.

Issue

RestoreForceEvaluate Mindkettő RestoreLockedMode engedélyezve van a visszaállításhoz, de ezek a lehetőségek ellentmondásosak:

  • RestoreLockedMode packages.lock.json a fájlnak változatlannak kell maradnia, és meghiúsul a visszaállítás, ha a feloldott csomagfüggőségek eltérnek a zárolási fájltól.
  • RestoreForceEvaluate Kényszeríti a NuGetet, hogy értékelje újra a csomagfüggőségeket, és hozza létre újra a zárolási fájlt minden visszaállításon.

Ha mindkettő be van állítva, RestoreForceEvaluate elsőbbséget élvez: a zárolási fájlt újra kiértékeli és újragenerálja, a kért zárolt módot pedig figyelmen kívül hagyja. Ez a figyelmeztetés úgy jelenik meg, hogy az figyelmen kívül hagyott zárolt mód ne legyen csendes.

Megoldás

A szándéka alapján csak az egyik tulajdonság engedélyezése:

  • Az ismétlődő visszaállítások garantálása érdekében (például CI/CD-forgatókönyvekben) hagyja RestoreLockedMode engedélyezve a beállítást, és állítsa le a beállítást RestoreForceEvaluate. Távolítsa el például a --force-evaluate beállítást (vagy -p:RestoreForceEvaluate=true) a visszaállítási parancsból:

    dotnet restore --locked-mode
    
  • A lebegő verziók szándékos újraértékeléséhez és a zárolási fájl újragenerálásához hagyja RestoreForceEvaluate engedélyezve, és állítsa le a beállítást RestoreLockedMode:

    dotnet restore --force-evaluate
    

Note

Ez a figyelmeztetés alapértelmezés szerint a .NET 11 SDK -val (SdkAnalysisLevelvagy annál magasabb értékkel11.0.100) kezdődik. A tulajdonságot módosíthatja SdkAnalysisLevel a viselkedés szabályozásához.