이 경고는 프로젝트를 빌드하는 데 사용되는 .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 속성 CheckSdkVulnerabilities이 true로 설정된 경우에만 실행됩니다:
<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를 업데이트하지 않고 경고를 표시하지 않는 경우:
NoWarn에NETSDK1239추가:<NoWarn>$(NoWarn);NETSDK1239</NoWarn>CheckSdkVulnerabilitiesNETSDK1238, NETSDK1239 및 NETSDK1240 끄려면 (기본값)으로 설정합니다false.환경 변수를
DOTNET_SDK_VULNERABILITY_CHECK_DISABLE.로true설정합니다.
참고하십시오
NETSDK1238: 현재 .NET SDK에는 알려진 취약성 - NETSDK1240: 현재 .NET SDK 기능 밴드가 중단되었습니다
- .NET 릴리스 및 지원
.NET