Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Questo pacchetto non contiene una cartella lib/ o ref/ e verrà quindi considerata compatibile per tutti i framework. Poiché i file specifici del framework sono stati trovati nella directory build/per net45, netstandard2.0, è consigliabile creare i file vuoti seguenti per limitare correttamente la compatibilità del pacchetto:
-lib/net45/.
-lib/netstandard2.0/.
Problema
Progetti che usano pacchetti con PackageReference solo assembly e ref/ per lib/ determinare la compatibilità dei pacchetti.
Pertanto, un pacchetto senza file lib/ o ref/ verrà considerato compatibile con tutti i progetti.
Tuttavia, i pacchetti contenenti proprietà o destinazioni MSBuild specifiche di uno o più framework di destinazione mostrano la finalità solo essendo compatibili con tali framework di destinazione.
Si consideri, ad esempio, che un pacchetto PackageA contenga un singolo file, build/net8.0/PackageA.targets.
Se il pacchetto fa riferimento a un progetto destinato net48 a (.NET Framework, versione 4.8), NuGet non genererà avvisi o errori, ma non selezionerà alcun asset dal pacchetto.
Pertanto, il consumer del pacchetto non riceverà una notifica che il pacchetto non funziona correttamente con il progetto.
Soluzione
Come suggerisce il messaggio di avviso, creare un file vuoto denominato _._ nella cartella lib per i TFM elencati.
Ciò consentirà a NuGet di non eseguire il ripristino per PackageReference i progetti quando il progetto non è compatibile con il pacchetto.
Se il pacchetto deve essere compatibile con tutti i framework di destinazione, ma ha effetto solo per determinati framework di destinazione, creare un file build/{PackageId}.props il cui contenuto è <Project />.