이 경고는 최신 SDK가 동일한 주 버전의 다른 기능 밴드에 있더라도 프로젝트를 빌드하는 데 사용되는 .NET SDK의 기능 밴드에 최신 릴리스가 없음을 나타냅니다. 전체 경고 메시지는 다음 예제와 유사합니다.
NETSDK1240: 현재 .NET SDK(<version>)는 기능 대역에서 최신 릴리스가 없습니다. 버전 <으로> 업데이트: https://dotnet.microsoft.com/download
.NET SDK 버전에는 <major>.<minor>.<feature-band><patch> 형식이 있습니다(예: 8.0.404, 여기서 4xx 기능 밴드). 권장 서비스 경로가 다른 기능 밴드로 이동하면 이전 밴드가 업데이트 수신을 중지합니다. 경고를 해결하려면 https://dotnet.microsoft.com/download 권장 .NET SDK 버전을 설치하고 global.json(있는 경우)를 업데이트하여 선택합니다.
검사 작동 방식
이 검사는 선택 사항이며 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/ 아래의 백그라운드에서 SDK 릴리스 메타데이터의 로컬 캐시를 새로 고칩니다. 기본적으로 24시간마다 최대 한 번 캐시를 새로 고칩니다. 해당 간격을 변경하려면 .를 설정합니다 DOTNET_SDK_VULNERABILITY_CHECK_INTERVAL_HOURS. MSBuild 검사는 해당 캐시만 읽습니다. 빌드하는 동안에는 네트워크 호출을 수행하지 않습니다.
경고 표시 안 함
SDK를 업데이트하지 않고 경고를 표시하지 않는 경우:
NoWarn에NETSDK1240추가:<NoWarn>$(NoWarn);NETSDK1240</NoWarn>CheckSdkVulnerabilitiesNETSDK1238, NETSDK1239 및 NETSDK1240 끄려면 (기본값)으로 설정합니다false.환경 변수를
DOTNET_SDK_VULNERABILITY_CHECK_DISABLE.로true설정합니다.
참고하십시오
NETSDK1238: 현재 .NET SDK에는 알려진 취약성 - NETSDK1239: 현재 .NET SDK는 수명이 종료됩니다
- .NET SDK 버전 관리
.NET