Condividi tramite


NETSDK1005 e NETSDK1047: File di asset senza destinazione

Questo articolo si applica a: ✔️ SDK .NET Core 2.1.100 e versioni successive

Quando .NET SDK genera un errore NETSDK1005 o NETSDK1047, il file di asset del progetto non contiene informazioni su uno dei framework di destinazione. NuGet scrive un file denominato project.assets.json nella cartella obj e .NET SDK lo usa per ottenere informazioni sui pacchetti da passare al compilatore. In .NET 5 NuGet ha aggiunto un nuovo campo denominato TargetFrameworkAlias, quindi le versioni precedenti di MSBuild o NuGet generano un file di asset senza il nuovo campo. Per altre informazioni, vedere Errore NETSDK1005.

Di seguito sono riportate alcune azioni che è possibile eseguire per risolvere l'errore:

  • Assicurarsi di usare MSBuild versione 16.8 o successiva e NuGet versione 5.8 o successiva e ripristinare il progetto (eseguire dotnet restore) dopo l'aggiornamento degli strumenti. Quando si usa NuGet versione 5.8 o successiva, è consigliabile usare Visual Studio 2019 versione 16.8 o successiva, MSBuild versione 16.8 o successiva e .NET 5 SDK o versione successiva.

  • Se l'errore viene visualizzato durante la compilazione di un progetto in Visual Studio 2019 per la prima volta dopo l'installazione della versione 16.8 o dopo la modifica del framework di destinazione del progetto, compilare il progetto una seconda volta.

  • Eliminare la cartella obj prima di compilare il progetto.

  • Assicurarsi che il valore di destinazione mancante sia incluso nella proprietà TargetFrameworks del progetto.

  • Se si compila un'immagine Docker, assicurarsi che il file .dockerignore ignori le directory bin e obj. Per altre informazioni, vedere la richiesta pull dotnet/docs #29530 di GitHub.

  • Se si sta provando a eseguire un'app MAUI in un simulatore Android, aprire l'opzione relativa agli SDK e agli strumenti Android e aggiungere le piattaforme mancanti sia nella scheda relativa alle piattaforme sia nella scheda relativa agli strumenti.