[Xamarin] Nuget오류 ValidatePakcageReferences task ...

2016. 10. 5. 22:19Mobile

Xamarin Project Build 시 다음 오류가 발생하시는 경우 해결방법입니다.

The "ValidatePackageReferences" task could not be loaded from the assembly D:\Xamarin\packages\Microsoft.Bcl.Build.1.0.21\build\Microsoft.Bcl.Build.Tasks.dll. Could not load file or assembly 'file:///D:\Xamarin\packages\Microsoft.Bcl.Build.1.0.21\build\Microsoft.Bcl.Build.Tasks.dll' or one of its dependencies. 지정된 파일을 찾을 수 없습니다. Confirm that the <UsingTask> declaration is correct, that the assembly and all its dependencies are available, and that the task contains a public class that implements Microsoft.Build.Framework.ITask.  

오류설명

위의 오류는 대게의 경우 해당 경로에 Assembly파일이 없기 때문에 발생하는 것입니다. 위의 오류를 예를 들면 "D:\Xamarin\packages\Microsoft.Bcl.Build.1.0.21\build\Microsoft.Bcl.Build.Tasks.dll" 파일을 로드할 수 없다고 합니다. 실제로 해당 폴더를 따라가보면 다음과 같습니다.

이는 문제가 있는 것으로써 정상적인 경우라면 다음과 같아야 합니다.

즉 해당파일이 삭제되었거나, DLL이 정상적으로 다운로드 되지 않았거나, 경로명이 변경되었거나 하여 VisualStudio에서 해당 DLL을 찾을 수 없는 것이 문제의 원인입니다.

보통 바이러스 프로그램에 의해서 해당파일이 차단되거나 삭제되는 경우도 있고, 소스컨트롤 시스템과 동기화 중에 누락되거나, 개발자가 .csproj 파일을 직접 수정하다가 실수하거나 다른 무언가에 의해 수정되었을 경우 발생하는 사례가 있었습니다.

해결방법

  1. 먼저 만일의 경우를 대비하여 프로젝트를 백업합니다.
  2. 오류 메시지에 나타난 경로에 파일이 있는지 확인합니다.
  3. 없으면 복구작업을 진행합니다.
    1. 해당 DLL을 경로에 복사를 해오거나, NugetPackage를 통해 재설치하여 파일을 복원합니다.
    2. 경로가 문제인 경우 .csproj 파일을 열고 해당 dll파일의 경로를 수정해주시면 됩니다.
    3. 불필요한 DLL인 경우 .csproj 파일을 열고 해당 DLL을 삭재해 줍니다.
  4. 수정이 완료되면 VisualStudio를 재실행 한뒤, 빌드를 다시 진행해 봅니다.

'Mobile' 카테고리의 다른 글

[Android] Lollipop 5.0 (API 21)에서의 문제  (0) 2017.05.21
[Android] Ripple Effect Button  (0) 2017.01.18
[Xamarin] Animation  (0) 2016.04.23
[Xamarin] iOS 파일시스템  (1) 2016.04.07
[Xamarin] iOS의 Interactive Notification  (0) 2016.04.06