Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Esta advertencia indica que el SDK de .NET usado para compilar el proyecto tiene una o varias vulnerabilidades comunes conocidas y exposiciones (CVE). El mensaje de advertencia completo es similar al ejemplo siguiente:
NETSDK1238: el SDK de .NET actual (<version>) tiene vulnerabilidades conocidas (<CVE list>). Actualice a la versión <versión>. Vea https://dotnet.microsoft.com/download.
Para resolver la advertencia, instale un SDK de .NET revisado desde https://dotnet.microsoft.com/download y actualice la global.json (si existe) para seleccionar la nueva versión.
Cómo funciona la comprobación
La comprobación es opcional y solo se ejecuta cuando la propiedad de MSBuild CheckSdkVulnerabilities se establece en true:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<CheckSdkVulnerabilities>true</CheckSdkVulnerabilities>
</PropertyGroup>
</Project>
También puede pasar /p:CheckSdkVulnerabilities=true a un comando de la CLI de .NET, como dotnet build.
De forma predeterminada, la CLI de .NET actualiza una caché local de metadatos de versión del SDK en segundo plano como máximo cada 24 horas en ~/.dotnet/sdk-vulnerability-cache/. Para cambiar ese intervalo, establezca DOTNET_SDK_VULNERABILITY_CHECK_INTERVAL_HOURS. La comprobación de MSBuild solo lee esa memoria caché; no realiza llamadas de red durante la compilación. En las máquinas que nunca han tenido acceso a la red, no se emite ninguna advertencia.
Supresión de la advertencia
Para suprimir la advertencia sin actualizar el SDK:
Agregue
NETSDK1238aNoWarn:<NoWarn>$(NoWarn);NETSDK1238</NoWarn>Establezca
CheckSdkVulnerabilitiesenfalse(valor predeterminado) para desactivar NETSDK1238, NETSDK1239 y NETSDK1240.Establezca la
DOTNET_SDK_VULNERABILITY_CHECK_DISABLEvariable de entorno entruepara deshabilitar la actualización de caché y la comprobación en tiempo de compilación.