Avertissement NuGet NU5131

References were found in the nuspec, but some reference assemblies were not found in both the nuspec and ref folder. Add the following reference assemblies:
- Add AssemblyName.dll to the ref/net472/ directory

Problème

NuGet dispose d’une fonctionnalité permettant aux auteurs de package de sélectionner les assemblys qui seront disponibles au moment de la compilation dans les projets qui utilisent le package.

Si les conventions requises ne sont pas suivies, les projets utilisant le package avec PackageReference peuvent échouer au moment de l’exécution en raison d’assemblys manquants.

Solution

La liste des assemblys de la section <references> du fichier nuspec doit avoir des assemblys correspondants dans ref/<tfm>/.

Par exemple, prenons un package avec les fichiers suivants :

lib\net472\MyLib.dll
lib\net472\MyHelpers.dll
lib\net472\MyUtilities.dll

L’auteur du package souhaite empêcher les consommateurs de package d’écrire du code qui appelle directement MyUtilities.dll, afin qu’ils ajoutent les éléments suivants à leur fichier nuspec :

<references>
    <group targetFramework="net472">
        <reference file="MyLib.dll" />
        <reference file="MyHelpers.dll" />
    </group>
</references>

Ce package ne fonctionnera pas comme prévu lors de l’utilisation de PackageReference. Pour résoudre ce problème, le package doit également contenir les fichiers suivants :

ref\net472\MyLib.dll
ref\net472\MyHelpers.dll