Avertissement NuGet NU1512

RestoreForceEvaluate remplace RestoreLockedMode ; le fichier de verrouillage de packages sera réévalué et régénéré, et le mode verrouillé est ignoré.

Issue

Les deux RestoreLockedMode sont RestoreForceEvaluate activés pour la restauration, mais ces options sont contradictoires :

  • RestoreLockedMode nécessite que le packages.lock.json fichier reste inchangé et échoue la restauration si les dépendances de package résolues diffèrent du fichier de verrouillage.
  • RestoreForceEvaluate force NuGet à réévaluer les dépendances du package et à régénérer le fichier de verrou sur chaque restauration.

Lorsque les deux sont définis, RestoreForceEvaluate il est prioritaire : le fichier de verrouillage est réévalué et régénéré, et le mode verrouillé demandé est ignoré. Cet avertissement est déclenché afin que le mode verrouillé ignoré ne soit pas silencieux.

Solution

Activez une seule de ces propriétés, en fonction de votre intention :

  • Pour garantir des restaurations reproductibles (par exemple, dans les scénarios CI/CD), conservez RestoreLockedMode le paramètre RestoreForceEvaluateactivé et arrêtez. Par exemple, supprimez l’option --force-evaluate (ou -p:RestoreForceEvaluate=true) de votre commande restore :

    dotnet restore --locked-mode
    
  • Pour réévaluer intentionnellement les versions flottantes et régénérer le fichier de verrouillage, conservez RestoreForceEvaluate le paramètre RestoreLockedModeactivé et arrêtez :

    dotnet restore --force-evaluate
    

Note

Cet avertissement est déclenché par défaut à partir du sdk .NET 11 (SdkAnalysisLevel valeur 11.0.100 ou supérieure). Vous pouvez modifier la SdkAnalysisLevel propriété pour contrôler ce comportement.