NETSDK1239: текущий пакет SDK для .NET заканчивается сроком действия.

Это предупреждение указывает, что пакет SDK .NET, используемый для сборки проекта, заканчивается срок действия (EOL) и больше не получает обновления системы безопасности. Полное предупреждение аналогично следующему примеру:

NETSDK1239: текущий пакет SDK .NET (<version>) заканчивается сроком действия по состоянию на <date>. Он не получит дополнительных обновлений для системы безопасности: https://dotnet.microsoft.com/download

Чтобы устранить предупреждение, установите поддерживаемый пакет SDK .NET из https://dotnet.microsoft.com/download и обновите global.json (при наличии), чтобы выбрать новую версию. Сведения о текущих сроках поддержки см. в разделе Выпуски .NET и поддержка.

Это предупреждение отличается от NETSDK1138, которое возникает, когда целевая платформа проекта не поддерживается. NETSDK1239 возникает, когда пакет SDK, выполняющий сборку , не поддерживается независимо от целевой платформы.

Как работает проверка

Проверка является необязательной и запускается, только если свойству MSBuild CheckSdkVulnerabilities присвоено значение true:

<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <CheckSdkVulnerabilities>true</CheckSdkVulnerabilities>
  </PropertyGroup>
</Project>

Вы также можете передать /p:CheckSdkVulnerabilities=true команде cli .NET, например dotnet build.

По умолчанию .NET CLI обновляет локальный кэш метаданных о выпусках SDK в фоновом режиме не чаще одного раза в 24 часа по адресу ~/.dotnet/sdk-vulnerability-cache/. Задайте DOTNET_SDK_VULNERABILITY_CHECK_INTERVAL_HOURS для изменения интервала обновления. Проверка MSBuild считывает только этот кэш; он не выполняет сетевые вызовы во время сборки.

Подавьте предупреждение

Чтобы отключить предупреждение без обновления пакета SDK, выполните указанные ниже действия.

  • Добавить NETSDK1239 в NoWarn:

    <NoWarn>$(NoWarn);NETSDK1239</NoWarn>
    
  • CheckSdkVulnerabilities Установите значение false (по умолчанию), чтобы отключить NETSDK1238, NETSDK1239 и NETSDK1240.

  • Задайте для переменной DOTNET_SDK_VULNERABILITY_CHECK_DISABLE среды значение true.

См. также