msbuild 에러 - error NETSDK1005: Assets file '...\project.assets.json' doesn't have a target for '...'.
만약 이런 오류가 발생한다면?
C:\Program Files\dotnet\sdk\3.1.300\Sdks\Microsoft.NET.Sdk\targets\Microsoft.PackageDependencyResolution.targets(234,5): error NETSDK1005: Assets file 'D:\TestPrj\obj\project.assets.json' doesn't have a target for '.NETFramework,Version=v5.0'. Ensure that restore has run and that you have included 'net50' in the TargetFrameworks for your project. [D:\TestPrj\TestPrj.csproj]
아마도 대개의 경우 빌드 환경을 업데이트하지 않은 상태에서 최신 SDK의 프로젝트를 빌드하는 경우 발생할 것입니다. 이에 대해 아래의 글에서 설명하고 있는데요,
error NETSDK1005: Assets file 'project.assets.json' doesn't have a target for 'netcoreapp3.1'.
; https://developercommunity.visualstudio.com/t/error-netsdk1005-assets-file-projectassetsjson-doe/1248649
제 경우에 빌드 버전을 확인해 보니,
C:\temp> msbuild -version
Microsoft (R) Build Engine version 16.6.0+5ff7b0c9e for .NET Framework
Copyright (C) Microsoft Corporation. All rights reserved.
16.6.0.22303
16.6으로 나오는데요, "
error NETSDK1005: Assets file 'project.assets.json' doesn't have a target for 'netcoreapp3.1'." 글에서는 .NET Core 3.1 프로젝트조차도 빌드하려면 16.8 버전이 필요하다고 하니, 당연히 제 경우에는 .NET 5 프로젝트를 빌드하는 것이니 16.6 버전으로는 오류가 발생하는 것이 맞습니다.
빌드 환경을 최신 버전(오늘 기준 16.11.2.50704)으로 업데이트 이후 정상적으로 프로젝트가 빌드되었습니다. ^^
[이 글에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.]