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.
Este paquete no contiene una carpeta lib/ o ref/ y, por lo tanto, se tratará como compatible para todos los marcos. Dado que se encontraron archivos específicos del marco en el directorio build/para net45, netstandard2.0, considere la posibilidad de crear los siguientes archivos vacíos para restringir correctamente la compatibilidad del paquete:
-lib/net45/.
-lib/netstandard2.0/.
Cuestión
Proyectos que usan paquetes con PackageReference solo uso lib/ y ref/ ensamblados para determinar la compatibilidad de paquetes.
Por lo tanto, un paquete sin archivos lib/ o ref/ se considerará compatible con todos los proyectos.
Sin embargo, los paquetes que contienen propiedades o destinos de MSBuild específicos de una o varias plataformas de destino muestran la intención de que solo sean compatibles con esas plataformas de destino.
Por ejemplo, considere la posibilidad de que un paquete PackageA contenga un único archivo, build/net8.0/PackageA.targets.
Si un proyecto de destino net48 hace referencia a este paquete (.NET Framework, versión 4.8), NuGet no emitirá advertencias ni errores, pero tampoco seleccionará ningún recurso del paquete.
Por lo tanto, no se notificará al consumidor del paquete que el paquete no funciona correctamente con su proyecto.
Solución
Como sugiere el mensaje de advertencia, cree un archivo vacío denominado _._ en la carpeta lib para los TFM enumerados.
Esto permitirá que NuGet produzca un error en la restauración de PackageReference los proyectos cuando el proyecto no sea compatible con el paquete.
Si el paquete está pensado para ser compatible con todas las plataformas de destino, pero solo surte efecto para determinadas plataformas de destino, cree un archivo build/{PackageId}.props cuyo contenido sea <Project />.