I pacchetti NuGet senza asset di runtime non sono inclusi in deps.json

I pacchetti NuGet o altre librerie che non contribuiscono ad alcun asset di runtime vengono ora esclusi dal file di deps.json se rimuoverli non causerebbero problemi di risoluzione delle dipendenze.

Versione introdotta

.NET 10

Comportamento precedente

In precedenza, tutti i pacchetti e i progetti NuGet a cui si fa riferimento sono stati inclusi nel file deps.json come voci di libreria, anche se non sono stati usati asset da essi.

Nuovo comportamento

I pacchetti NuGet o altre librerie potrebbero essere esclusi dal file deps.json se:

  • Non contribuiscono ad alcun asset di runtime e
  • La rimozione della libreria dal deps.json non causerebbe alcuna libreria che contribuisce agli asset di runtime per non avere più un percorso di dipendenza.

Tipo di cambiamento che interrompe la compatibilità

Questa modifica può influire sulla compatibilità dell'origine.

Motivo della modifica

Il file deps.json elenca le dipendenze di runtime e viene usato dal caricatore per caricare tali dipendenze. Altri strumenti elaborano anche il file deps.json. L'inclusione di librerie non effettivamente usate è meno accurata e può causare falsi positivi per gli scanner di sicurezza che usano il file deps.json.

Per disabilitare il nuovo comportamento, impostare la TrimDepsJsonLibrariesWithoutAssets proprietà MSBuild su false:

<PropertyGroup>
  <TrimDepsJsonLibrariesWithoutAssets>false</TrimDepsJsonLibrariesWithoutAssets>
</PropertyGroup>

Le API interessate

Nessuno.

Vedere anche