2017-12-11 15 views
0

최근에 Win Win 2017 Xamarin 프로젝트가 Xamarin Forms 2.5.0.212934로 업데이트되었습니다. 다른 패키지를 업데이트하고 Microsoft.AppCenter 1.0.1을 동시에 추가했습니다. Xamarin.Android 네임 스페이스의 여러 패키지에 대한 종속성으로 인해 26.1.0.1로 업데이트해야했습니다. 이제 빌드 할 때 다음 오류가 표시됩니다.Xamarin.Android.Support.Vector.Drawable 패키지 깨기 빌드에 대한 참조

"이 프로젝트는이 컴퓨터에 누락 된 NuGet 패키지를 참조합니다 .NuGet 패키지 복원을 사용하여 해당 파일을 다운로드합니다. 자세한 내용은 http://go.microsoft.com/fwlink/?LinkID=322105을 참조하십시오. 누락 된 파일은 다음과 같습니다. ... \ packages \ Xamarin.Android.Support.Vector.Drawable.23.3.0 \ build \ Xamarin.Android.Support.Vector.Drawable.targets. "

분명히 이전 버전에 대한 참조가 유지됩니다. VS의 NuGet 옵션은 자동으로 패키지를 확인하고 다운로드하도록 설정됩니다. 복원, 제거, 재설치 등 여러 가지 조합을 시도했지만이 문제를 해결할 수 없습니다. 프로젝트를 검색하여 구 버전에 대한 참조를 찾았지만 찾을 수 없습니다. NuGet 패키지 관리가 여전히 나에게 블랙홀 인 것처럼 어디에서보아야할지 모를 가능성이 있습니다. 원본 파일에서 내 프로젝트 파일을 알려진 양호한 상태로 복원 할 때와 같은 오류가 발생하는 경우 프로젝트 수준보다 높다고 생각합니다.

어디에서이 종속성을 검색합니까, 아니면 누락 된 NuGet으로 자동 해결할 수 있습니까?

답변

0

근본적인 원인은 여전히 ​​수수께끼이지만이 문제를 해결할 수있었습니다. 나중에 다른 사람에게 도움이 될 경우를 대비하여 결의안을 문서로 작성하겠습니다.

나는 'missing'파일에 대한 경로가 상대적이며 두 개의 디렉토리 만 찾았다 고 나타났습니다. 어떤 이유로이 프로젝트가 (VS/Xamarin 템플릿에서) 생성되었을 때 'src'폴더 아래에 배치되어이 오류의 상대 경로가 잘못되었습니다. 이를 테스트하기 위해 필자는 누락 된 파일을 오류가 언급 된 상대 경로에 복사하고 빌드가 계속되는지 확인했습니다. 이 시점에서 다른 오류가 발생했습니다. 아마도 다른 위치의 자원을 찾으려는 잘못된 위치에서 비롯된 것입니다.

문제를 해결하기 위해 VS 솔루션에서 프로젝트를 제거하고 프로젝트 파일을 한 폴더 위로 이동 한 다음 솔루션을 프로젝트에 다시 추가했습니다. 이로 인해 모든 패키지 참조와 빌드에서 올바른 상대 경로가 생성되었습니다. 내 유일한 관심사는 프로젝트에서 내가 모르는 사이에 다른 비밀 의존성이있을 수 있다는 것입니다. 시간은 NuGet 마법의 팬이 아니라고 말할 것입니다. 내가 어딘가에 파일에서 잘못된 상대 경로와 실제 라인을 찾을 수 있었다면 나는 그것을 수동으로 고칠 수 있었다.