Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
RestoreForceEvaluate переопределяет RestoreLockedMode; Файл блокировки пакетов будет повторно оцениваться и повторно создаваться, а режим блокировки игнорируется.
Issue
Оба RestoreLockedMode и RestoreForceEvaluate включены для восстановления, но эти параметры являются противоречивыми:
-
RestoreLockedModepackages.lock.jsonтребует, чтобы файл оставался неизменным и не удалось восстановить, если разрешенные зависимости пакета отличаются от файла блокировки. -
RestoreForceEvaluateПринудив NuGet повторно оценить зависимости пакета и повторно создать файл блокировки для каждого восстановления.
Если оба набора заданы, RestoreForceEvaluate имеет приоритет: файл блокировки вычисляется повторно и повторно создается, а запрошенный заблокированный режим игнорируется.
Это предупреждение вызывается таким образом, чтобы игнорируемый заблокированный режим не молчал.
Решение
Включите только одно из этих свойств в зависимости от намерения:
Чтобы гарантировать повторяемые восстановления (например, в сценариях CI/CD), сохраните
RestoreLockedModeвключенный и стоп-параметрRestoreForceEvaluate. Например, удалите--force-evaluateпараметр (или-p:RestoreForceEvaluate=true) из команды восстановления:dotnet restore --locked-modeДля намеренной повторной оценки с плавающей запятой версий и повторного создания файла блокировки сохраните
RestoreForceEvaluateвключенный и остановите настройкуRestoreLockedMode:dotnet restore --force-evaluate
Note
Это предупреждение возникает по умолчанию, начиная с пакета SDK .NET 11 (SdkAnalysisLevelзначение 11.0.100 или более поздней версии).
Свойство можно изменить SdkAnalysisLevel для управления этим поведением.