Avviso NuGet NU5130
Some target frameworks declared in the dependencies group of the nuspec and the lib/ref folder have compatible matches, but not exact matches in the other location. Unless intentional, consult the list of actions below: - Add a dependency group for .NETFramework4.7.2 to the nuspec
Problema
La lib/<tfm>/
directory o ref/<tfm>/
nel pacchetto contiene almeno un file per il moniker del framework di destinazione (TFM) specificato nel messaggio di avviso. Tuttavia, nessun gruppo di dipendenze esiste per questo TFM nel nuspec
file. In questo modo, i consumer di pacchetti ritengono che il pacchetto non sia compatibile con tfm. Se gli assembly per il TFM specificato hanno dipendenze diverse rispetto al TFM compatibile definito nel gruppo di dipendenze, il progetto che usa il pacchetto potrebbe riscontrare errori di runtime.
Soluzione
- Eseguire la destinazione del pacchetto NuGet nel progetto
Se possibile, usare la destinazione del pacchetto MSBuild di NuGet, perché corrisponde automaticamente ai TFM dell'assembly con i gruppi di dipendenze dai framework di destinazione del progetto. Si noti che il progetto deve usare PackageReference
per le proprie dipendenze NuGet. Se il progetto usa packages.config, è necessario usare nuget.exe pack
e un nuspec
file.
- Modificare manualmente il
nuspec
file
Se si usa un file personalizzato nuspec
, è consigliabile che ogni TFM per cui lib/
esistano assembly o ref/
che contengano un gruppo di dipendenze corrispondente, anche se le dipendenze sono uguali a quella del TFM compatibile successivo. Ad esempio, se un pacchetto contiene netstandard1.0
assembly e netstandard2.0
e le dipendenze sono uguali per entrambi, è consigliabile elencare entrambi i TFM come gruppi di dipendenze con elementi di dipendenza duplicati.
Si noti che l'identificatore TFM usato nei percorsi dell'assembly usa un formato diverso per l'identificatore TFM usato nei gruppi di dipendenze. Il messaggio di avviso specifica il nome corretto da usare nel gruppo di dipendenze. Se il pacchetto non ha dipendenze per tale framework di destinazione, usare un gruppo vuoto. Ad esempio:
<package>
<metadata>
...
<dependencies>
<group targetFramework=".NETFramework4.7.2" />
</dependencies>
</metadata>
...
<package>
- Rimuovere i
lib/
file oref/
Se non si desidera che il pacchetto sia compatibile con il TFM segnalato, modificare il progetto in modo che nessun file lib/<tfm>/
o ref/<tfm>/
si trovi nel pacchetto per tale TFM. Ad esempio, se l'avviso indica di aggiungere un gruppo di dipendenze per .NETFramework4.7.2
a nuspec
, rimuovere eventuali lib/net472/*
file e ref/net472/*
dal pacchetto.
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per