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.
En este artículo se describe el código de error MSB3644.
Texto del mensaje
MSB3644: The reference assemblies for 'value' were not found. To resolve this, install the Developer Pack (SDK/Targeting Pack) for this framework version or retarget your application. You can download .NET Framework Developer Packs at https://aka.ms/msbuild/developerpacks
Descripción
Este error se produce cuando no se encuentran los ensamblados de referencia de .NET para la versión de .NET que solicita un proyecto.
Es posible que vea este error si el proyecto solicita una versión de ensamblado que no se reconoce o instala. El error también se produce cuando la carpeta de ensamblados de referencia de la versión de .NET necesaria está dañada o no está presente.
Resolución
Compruebe que el proyecto hace referencia al paquete NuGet Microsoft.NETFramework.ReferenceAssemblies . Para obtener más información, consulte Paquetes NuGet del conjunto de destino de .NET Framework.
Identificador y versión del marco de archivos del proyecto
Compruebe el archivo de proyecto para verificar si hay errores ortográficos o tipográficos en las propiedades TargetFramework
, TargetFrameworks
, TargetFrameworkIdentifier
o TargetFrameworkVersion
.
Por ejemplo, el código siguiente de un archivo de proyecto produce el error MSB3644:
<PropertyGroup Condition="'$(TargetFrameworkIdentifier)' == ''">
<TargetFrameworkIdentifier>.NETCORAPP</TargetFrameworkIdentifier>
<TargetFrameworkVersion>3.1</TargetFrameworkVersion>
</PropertyGroup>
El valor de la TargetFrameworkIdentifier
propiedad está mal escrito. El valor correcto es .NETCOREAPP
con el E
que falta, como en CORE
.
Al especificar valores para varias plataformas de destino con la TargetFrameworks
propiedad , asegúrese de separar los valores con punto y coma (;
). Si usa un delimitador no válido, como una coma (,
), el sistema genera el error MSB3644.
Este es un ejemplo de la sintaxis correcta:
<PropertyGroup>
<TargetFrameworks>net6.0;net5.0;netcoreapp3.1</TargetFrameworks>
</PropertyGroup>
Carpeta de ensamblados de referencia
Tenga en cuenta el identificador del marco y la versión solicitados en las propiedades TargetFramework
, TargetFrameworkIdentifier
, y TargetFrameworkVersion
, y busque la carpeta de ensamblaje de referencia para esa versión en la unidad local.
En Windows, los ensamblados de referencia de 32 bits para .NET Core deben encontrarse en la carpeta C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETCore. Para 64 bits, las carpetas de ensamblados de referencia de .NET Framework deben encontrarse en el C:\Archivos de Programa\Ensamblados de referencia\Microsoft\Framework\.NETFramework.
Si la carpeta de la versión que necesita el proyecto no está presente o aparece dañada, es posible que tenga que instalar o reinstalar la versión del ensamblado. Puede instalar la versión necesaria en Descargar .NET. Para obtener más información, vea Ensamblados de referencia.
Se aplica a
Todas las versiones de MSBuild