이 경고는 프로젝트를 빌드하는 데 사용되는 .NET SDK에 하나 이상의 알려진 CVE(Common Vulnerabilities and Exposures)가 있음을 나타냅니다. 전체 경고 메시지는 다음 예제와 유사합니다.
NETSDK1238: 현재 .NET SDK(<version>)에는 알려진 취약성(<CVE 목록>)이 있습니다. 버전 <version>(으)로 업데이트합니다. https://dotnet.microsoft.com/download을 참조하십시오.
경고를 해결하려면 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/ 24시간마다 한 번씩 백그라운드에서 SDK 릴리스 메타데이터의 로컬 캐시를 새로 고칩니다. 해당 간격을 변경하려면 .를 설정합니다 DOTNET_SDK_VULNERABILITY_CHECK_INTERVAL_HOURS. MSBuild 검사는 해당 캐시만 읽습니다. 빌드하는 동안에는 네트워크 호출을 수행하지 않습니다. 네트워크에 액세스한 적이 없는 컴퓨터에서는 경고가 내보내지지 않습니다.
경고 표시 안 함
SDK를 업데이트하지 않고 경고를 표시하지 않는 경우:
NoWarn에NETSDK1238추가:<NoWarn>$(NoWarn);NETSDK1238</NoWarn>CheckSdkVulnerabilitiesNETSDK1238, NETSDK1239 및 NETSDK1240 끄려면 (기본값)으로 설정합니다false.환경 변수를
DOTNET_SDK_VULNERABILITY_CHECK_DISABLE설정하여true캐시 새로 고침 및 빌드 시간 검사를 모두 사용하지 않도록 설정합니다.
참고하십시오
.NET