Upozornění 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ém

NuGet má funkci, která autorům balíčků umožňuje vybrat sestavení, která budou k dispozici v době kompilace v projektech, které balíček používají.

Pokud nejsou dodrženy požadované konvence, projekty používající balíček s PackageReference mohou selhat za běhu kvůli chybějícím sestavením.

Řešení

Seznam sestavení v části souboru <references> nuspec by měl mít odpovídající sestavení v ref/<tfm>/.

Představte si například balíček s následujícími soubory:

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

Autor balíčku chce zabránit uživatelům balíčků v psaní kódu, který přímo volá MyUtilities.dll, takže do souboru nuspec přidají následující:

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

Tento balíček nebude fungovat podle očekávání při použití PackageReference. Chcete-li tento problém vyřešit, musí balíček obsahovat také následující soubory:

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