NETSDK1239: 현재 .NET SDK는 수명이 종료됩니다.

이 경고는 프로젝트를 빌드하는 데 사용되는 .NET SDK가 EOL(수명 종료)이며 더 이상 보안 업데이트를 받지 않음을 나타냅니다. 전체 경고 메시지는 다음 예제와 유사합니다.

NETSDK1239: 현재 .NET SDK(<version>)는 <date> 기준으로 수명이 종료됩니다. 추가 보안 업데이트는 수신되지 않습니다. https://dotnet.microsoft.com/download

경고를 해결하려면 https://dotnet.microsoft.com/download 지원되는 .NET SDK를 설치하고 global.json(있는 경우)을 업데이트하여 새 버전을 선택합니다. 현재 지원 타임라인은 .NET 릴리스 및 지원 참조하세요.

이 경고는 프로젝트의 대상 프레임워크가 지원되지 않을 때 발생하는 NETSDK1138 다릅니다. NETSDK1239 대상 프레임워크에 관계없이 빌드를 실행하는 SDK 가 지원되지 않는 경우 발생합니다.

검사 작동 방식

이 검사는 선택 사항이며 MSBuild 속성 CheckSdkVulnerabilitiestrue로 설정된 경우에만 실행됩니다:

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

/p:CheckSdkVulnerabilities=true .NET CLI 명령(예: dotnet build)에 전달할 수도 있습니다.

기본적으로 .NET CLI는 ~/.dotnet/sdk-vulnerability-cache/ 24시간마다 한 번씩 백그라운드에서 SDK 릴리스 메타데이터의 로컬 캐시를 새로 고칩니다. 새로 고침 간격을 변경하도록 설정합니다 DOTNET_SDK_VULNERABILITY_CHECK_INTERVAL_HOURS . MSBuild 검사는 해당 캐시만 읽습니다. 빌드하는 동안에는 네트워크 호출을 하지 않습니다.

경고 표시 안 함

SDK를 업데이트하지 않고 경고를 표시하지 않는 경우:

  • NoWarnNETSDK1239 추가:

    <NoWarn>$(NoWarn);NETSDK1239</NoWarn>
    
  • CheckSdkVulnerabilities NETSDK1238, NETSDK1239 및 NETSDK1240 끄려면 (기본값)으로 설정합니다false.

  • 환경 변수를 DOTNET_SDK_VULNERABILITY_CHECK_DISABLE .로 true설정합니다.

참고하십시오