Compartir a través de


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.