NETSDK1005 y NETSDK1047: Falta el destino del archivo de recursos
Este artículo se aplica a: ✔️ SDK de .NET Core 2.1.100 y versiones posteriores
Cuando el SDK de .NET emite el error NETSDK1005 o NETSDK1047, falta información sobre una de las plataformas de destino en el archivo de recursos del proyecto. NuGet escribe un archivo llamado project.assets.json en la carpeta obj y el SDK de .NET lo usa para obtener información sobre los paquetes que se van a pasar al compilador. En .NET 5, NuGet agregó un nuevo campo denominado TargetFrameworkAlias
, por lo que las versiones anteriores de MSBuild o NuGet generan un archivo de recursos sin el nuevo campo. Para obtener más información, vea error NETSDK1005.
Estas son algunas acciones que puede realizar y que pueden resolver el error:
Asegúrese de que usa MSBuild versión 16.8 o posterior y NuGet versión 5.8 o posterior y restaure el proyecto (ejecute
dotnet restore
) después de actualizar las herramientas. Si usa la versión 5.8 o posterior de NuGet, debe usar Visual Studio 2019, versión 16.8 o posterior; MSBuild, versión 16.8 o posterior, y el SDK de .NET 5 o posterior.Si obtiene el error durante la compilación de un proyecto en Visual Studio 2019 por primera vez después de instalar la versión 16.8 o después de cambiar la plataforma de destino del proyecto, vuelva a compilar el proyecto por segunda vez.
Elimine la carpeta obj antes de compilar el proyecto.
Asegúrese de que el valor de destino que falta está incluido en la propiedad
TargetFrameworks
del proyecto.Si va a compilar una imagen de Docker, asegúrese de que el archivo .dockerignore omite los directorios bin y obj. Para obtener más información, vea la solicitud de incorporación de cambios de GitHub dotnet/docs #29530.
Si está intentando ejecutar una aplicación Maui en un simulador de Android, abra los SDK y herramientas de Android y agregue las plataformas que faltan en la pestaña Plataformas y Herramientas.