IT박스

.NET Core 2.0으로 업그레이드 : PackageTargetFallback 및 AssetTargetFallback은 함께 사용할 수 없습니다.

itboxs 2020. 12. 24. 23:29
반응형

.NET Core 2.0으로 업그레이드 : PackageTargetFallback 및 AssetTargetFallback은 함께 사용할 수 없습니다.


.NET Core 1.0 또는 1.1에서 잘 컴파일되고 실행되는 프로젝트를 업그레이드 할 때 대상 프레임 워크를 .NET Core 2.0 ( netcoreapp2.0)으로 업데이트 하면 다음 오류와 함께 빌드가 실패합니다.

 error NU1003: PackageTargetFallback and AssetTargetFallback cannot be used together. Remove PackageTargetFallback(deprecated) references from the project environment.

이 오류의 원인은 무엇이며 프로젝트를 다시 빌드하기 위해 어떻게 해결할 수 있습니까?


.NET Core 1.0 및 1.1에서는 .NET Core PackageTargetFallback에서 작동하는 것으로 알려져 있지만 공식적으로 지원하지 않는 패키지 (예 : 레거시 dotnet프레임 워크 모니 커용으로 빌드 된 PCL 라이브러리 또는 라이브러리)를 참조 할 때 설정 해야했습니다 .

이 때문에,이 프로젝트는 ( .csproj, .fsproj, ...)과 같은 라인에 포함됩니다 :

<PackageTargetFallback>$(PackageTargetFallback);portable-net45+win8+wp8+wpa81;</PackageTargetFallback>

대부분의 경우이 줄은 간단히 제거 할 수 있으며 .NET Core 2.0은 이미 정의 AssetTargetFallback되어 있으므로 프로젝트를 빌드해야 net461합니다. 즉, .NET Framework 4.6.1 이상과 호환되는 모든 NuGet 패키지를 추가 구성없이 사용할 수 있습니다.

이로 인해 빌드 / 복원 오류가 더 많이 발생하면 행을 다음과 같이 변경하십시오.

<AssetTargetFallback>$(AssetTargetFallback);portable-net45+win8+wp8+wpa81;</AssetTargetFallback>

변경 이유 PackageTargetFallback는 더 이상 사용되지 않는 것으로 간주 AssetTargetFallback되며 약간만 다르게 작동하는 것으로 교체해야하기 때문 입니다.

툴링의 깨는 변화가 있다는 것입니다 netcoreapp2.0netstandard2.0자동으로 설정 AssetTargetFallback하는 어떤 충돌 PackageTargetFallback프로젝트 파일에 정의 된 값입니다.

참조 URL : https://stackoverflow.com/questions/45569378/upgrading-to-net-core-2-0-packagetargetfallback-and-assettargetfallback-cannot

반응형