Condividi tramite


Avviso NuGet NU5131

I riferimenti sono stati trovati in nuspec, ma alcuni assembly di riferimento non sono stati trovati sia nella cartella nuspec che nella cartella ref. Aggiungere gli assembly di riferimento seguenti:

  • Aggiungere AssemblyName.dll alla directory ref/net472/

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