NETSDK1005 und NETSDK1047: Ziel für eine Objektdatei fehlt
Dieser Artikel gilt für: ✔️ .NET Core 2.1.100 SDK und höhere Versionen
Wenn das .NET SDK den Fehler NETSDK1005 oder NETSDK1047 zurückgibt, fehlen der Objektdatei des Projekts Informationen eines Ihrer Zielframeworks. NuGet schreibt eine Datei mit dem Namen project.assets.json in den Ordner obj. Das .NET SDK verwendet diese Datei, um Informationen über Pakete zu erhalten, die es an den Compiler übergibt. In .NET 5 hat NuGet ein neues Feld namens TargetFrameworkAlias
hinzugefügt. Daher generieren frühere Versionen von MSBuild und NuGet eine Ressourcendatei ohne das neue Feld. Weitere Informationen finden Sie unter Fehler NETSDK1005.
Im Folgenden sind einige Aktionen aufgeführt, mit denen Sie den Fehler möglicherweise beheben können:
Stellen Sie sicher, dass Sie Version 16.8 oder höher von MSBuild und Version 5.8 oder höher von NuGet verwenden, und stellen Sie das Projekt nach dem Aktualisieren Ihrer Tools wieder her (führen Sie
dotnet restore
aus). Wenn Sie Version 5.8 oder höher von NuGet verwenden, sollten Sie Version 16.8 oder höher von Visual Studio 2019, Version 16.8 oder höher von MSBuild und das .NET 5 SDK oder höher verwenden.Wenn der Fehler beim Kompilieren eines Projekts in Visual Studio 2019 zum ersten Mal nach der Installation von Version 16.8 oder nach der Änderung des Zielframeworks des Projekts auftritt, kompilieren Sie das Projekt ein zweites Mal.
Löschen Sie den Ordner obj vor dem Kompilieren des Projekts.
Stellen Sie sicher, dass der fehlende Zielwert in der Eigenschaft
TargetFrameworks
Ihres Projekts enthalten ist.Wenn Sie ein Docker-Image erstellen, müssen Sie sicherstellen, dass die Datei .dockerignore die Verzeichnisse bin und obj ignoriert. Weitere Informationen finden Sie im Pull Request dotnet/docs #29530 auf GitHub.
Wenn Sie versuchen, eine Maui-App auf einem Android-Simulator auszuführen, öffnen Sie die Android SDKs und Tools, und fügen Sie die fehlenden Plattformen sowohl auf der Registerkarte „Plattformen“ als auch auf der Registerkarte „Tools“ hinzu.