NETSDK1004: archivo de recursos no encontrado
Este artículo se aplica a: ✔️ SDK de .NET Core 2.1.100 y versiones posteriores
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. Este error se produce cuando no se encuentra el archivo de recursos project.assets.json durante la compilación. El mensaje de error es similar al ejemplo siguiente:
NETSDK1004: No se ha encontrado el archivo de recursos "C:\path\to\project.assets.json". Ejecute una restauración de paquetes NuGet para generar este archivo.
Estas son algunas posibles causas del error:
- Está ejecutando el comando
dotnet build
desde una ruta de directorio que contiene un carácter%
. Para resolver el error, quite el carácter%
del nombre de la carpeta y vuelva a ejecutardotnet build
. - El sistema del proyecto no detectó ni restauró automáticamente un cambio en el archivo del proyecto. Para resolver el error, abra un símbolo del sistema y ejecute
dotnet restore
en el proyecto. - Una versión anterior de Nuget.exe ha restaurado un proyecto por separado. Para resolver el error, abra un símbolo del sistema y ejecute
dotnet restore
en el proyecto. - Un error anterior, como NETSDK1045 (la versión del SDK que está usando no es compatible con la plataforma de destino del proyecto), impedía que NuGet creara el archivo de recursos del proyecto. Para resolver el error NETSDK1004, resuelva el error anterior y, después, ejecute
dotnet restore
en el proyecto. - La CI de App Center está compilando un proyecto con un ensamblado externo que no está en NuGet. Para resolver el error, use un paquete NuGet para el ensamblado.
- Ha agregado una carpeta de soluciones en Visual Studio con un nombre que comienza con un punto. Para resolver el error, quite el punto inicial del nombre de la carpeta.
- Tiene un origen en la sección
<packageSources>
del archivo NuGet.Config con una ruta de acceso que no existe. Para resolver el error, edite el archivo NuGet.Config para corregir la ruta de acceso del origen del paquete.