Avviso 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

Problema

NuGet ha una funzionalità che consente agli autori di pacchetti di selezionare gli assembly disponibili in fase di compilazione nei progetti che usano il pacchetto.

Se le convenzioni necessarie non vengono seguite, i progetti che usano il pacchetto con PackageReference potrebbero non riuscire in fase di esecuzione a causa di assembly mancanti.

Soluzione

L'elenco di assembly nella sezione del <references> file nuspec deve avere assembly corrispondenti in ref/<tfm>/.

Si consideri, ad esempio, un pacchetto con i file seguenti:

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

L'autore del pacchetto vuole impedire ai consumer di pacchetti di scrivere codice che chiama MyUtilities.dlldirettamente , in modo da aggiungere quanto segue al file nuspec:

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

Questo pacchetto non funzionerà come previsto quando si usa PackageReference. Per risolvere questo problema, il pacchetto deve contenere anche i file seguenti:

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