NETSDK1005 與 NETSDK1047: 資產檔案遺漏目標
本文適用於: ✔️ .NET Core 2.1.100 SDK 與更新版本
當 .NET SDK 發出 NETSDK1005 或 NETSDK1047 錯誤時,代表專案的資產檔案遺漏了其中一個目標 Framework 的相關資訊。 NuGet 會在 obj 資料夾中寫入名為 project.assets.json 的檔案,而 .NET SDK 會將其用於取得要傳遞至編譯器之套件的相關資訊。 在 .NET 5 中,NuGet 新增了名為 TargetFrameworkAlias
的新欄位,所以舊版的 MSBuild 或 NuGet 會產生的資產檔案內沒有新的欄位。 如需詳細資訊,請參閱錯誤 NETSDK1005。
若採取下列動作,或許可以解決這項錯誤:
請確定使用的是 MSBuild 16.8 版或更新版本以及 NuGet 5.8 版或更新版本,並在更新工具之後還原專案 (執行
dotnet restore
)。 若您使用 NuGet 5.8 版或更新版本,則應使用 Visual Studio 2019 16.8 版或更新版本、MSBuild 16.8 版或更新版本,以及 .NET 5 SDK 或更新版本。如果您在安裝 16.8 版或變更專案的目標 Framework 之後,第一次在 Visual Studio 2019 中建置專案時收到錯誤訊息,請再次建置專案。
建置專案前,先刪除 obj 資料夾。
確認遺漏的目標值包含在您專案的
TargetFrameworks
屬性內。如果您要建置 Docker 映像,請確定 .dockerignore 檔案會忽略隔間和 obj 目錄。 如需詳細資訊,請參閱 GitHub 提取要求 dotnet/docs #29530。
如果您嘗試在 Android 模擬器上執行 Maui 應用程式,請開啟 Android SDK 和工具,並在 [平台] 和 [工具] 索引標籤下新增遺漏的平台。