Advertencia de NuGet NU5130
Algunos marcos de destino declarados en el grupo de dependencias de nuspec y la carpeta lib/ref tienen coincidencias compatibles, pero no coincidencias exactas en la otra ubicación. A menos que sea intencionada, consulte la lista de acciones siguientes:
- Agregue un grupo de dependencias para . NETFramework4.7.2 a nuspec
Problema
El directorio lib/<tfm>/
o ref/<tfm>/
del paquete contiene al menos un archivo para el Moniker de la plataforma de destino (TFM) especificado en el mensaje de advertencia. Pero no existe ningún grupo de dependencias para este TFM en el archivo nuspec
. Esto puede hacer que los consumidores del paquete crean que no es compatible con el TFM. Si los ensamblados del TFM especificado tienen dependencias diferentes a las del TFM compatible definido en el grupo de dependencias, el proyecto que usa el paquete puede experimentar errores en tiempo de ejecución.
Solución
- Ejecución del destino del paquete de NuGet en el proyecto
Si es posible, use el destino del paquete de MSBuild de NuGet, ya que compara automáticamente los TFM de ensamblado con los grupos de dependencias de las plataformas de destino del proyecto. Tenga en cuenta que el proyecto debe usar PackageReference
para sus propias dependencias de NuGet. Si el proyecto usa packages.config, debe usar nuget.exe pack
y un archivo nuspec
.
- Edición manual del archivo
nuspec
Si usa un archivo nuspec
personalizado, se recomienda que cada TFM para el que existan ensamblados lib/
o ref/
debe tener un grupo de dependencias coincidente, incluso si las dependencias son las mismas que las del siguiente TFM compatible. Por ejemplo, si un paquete contiene ensamblados netstandard1.0
y netstandard2.0
, y las dependencias son las mismas para los dos, se recomienda que los dos TFM se muestren como grupos de dependencias con elementos de dependencia duplicados.
Tenga en cuenta que en el identificador de TFM usado en las rutas de acceso de ensamblado se utiliza un formato diferente al del identificador de TFM usado en los grupos de dependencias. El mensaje de advertencia especifica el nombre correcto que se va a usar en el grupo de dependencias. Si el paquete no tiene dependencias para ese marco de destino, use un grupo vacío. Por ejemplo:
<package>
<metadata>
...
<dependencies>
<group targetFramework=".NETFramework4.7.2" />
</dependencies>
</metadata>
...
<package>
- Quite los archivos
lib/
oref/
Si no quiere que el paquete sea compatible con el TFM notificado, modifique el proyecto de forma que no haya archivos lib/<tfm>/
o ref/<tfm>/
en el paquete para ese TFM. Por ejemplo, si la advertencia indica que se agrega un grupo de dependencias para .NETFramework4.7.2
a nuspec
, quite los archivos lib/net472/*
y ref/net472/*
del paquete.