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.