Freigeben über


NuGet-Warnung NU5131

Verweise wurden in der Nuspec-Datei gefunden, aber einige Referenzassemblys wurden sowohl im Nuspec- als auch im Verweisordner nicht gefunden. Fügen Sie die folgenden Referenzassemblys hinzu:

  • Hinzufügen von AssemblyName.dll zum Verzeichnis ref/net472/

Problem

NuGet verfügt über ein Feature, mit dem Paketautoren auswählen können, welche Assemblys zur Kompilierungszeit in Projekten, die das Paket verwenden, verfügbar sein sollen.

Wenn die erforderlichen Konventionen nicht eingehalten werden, können Projekte, die das Paket mit PackageReference verwenden, zur Laufzeit aufgrund fehlender Assemblys fehlschlagen.

Lösung

Die Liste der Assemblies im <references>-Abschnitt der nuspec-Datei sollte passende Assemblys in ref/<tfm>/ haben.

Sehen Sie sich beispielsweise die folgende Datei an.

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

Der Paketautor möchte verhindern, dass Paketkunden Code schreiben, der direkt MyUtilities.dll aufruft, damit sie der Nuspec-Datei Folgendes hinzufügen:

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

Dieses Paket funktioniert bei Verwendung von PackageReference nicht wie vorgesehen. Um dies zu beheben, muss das Paket auch die folgenden Dateien enthalten:

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