2017-11-19 5 views
1

Visual Studio 2017에서 Xamarin을 사용하여 Android 응용 프로그램을 만들고 있습니다.이 안내서 (http://www.c-sharpcorner.com/blogs/find-latitude-and-longitude-using-c-sharp1)를 사용하여 NuGet 패키지 GoogleMaps.LocationServices를 사용하려고합니다. enter image description here 하지만 다음 코드에서 패키지를 사용하려고하면 다음과 같은 지침을 따르기 때문에 이름 공간을 찾을 수 없다는 오류가 발생합니다. enter image description here 즉, 패키지를 만들 수 없습니다. 위치 주소 목록을 사용하여 Google지도 핀 포인트를 만들려면 GoogleLocationService() 객체를 사용해야합니다.GoogleMaps.LocationServices NuGet 패키지에서 namespace을 찾을 수 없다고 말했습니다.

누구나 왜이 오류가 발생하는지 알 수 있습니까?

답변

0

메소드의 새 서명이 2017에 있는지 추적하기는 어렵지만 패키지의 버전을 변경하면 간단한 모양에서부터 추적하기가 어렵습니다. 0.9.0 사용 네임 스페이스

using GoogleMaps.Geolocation; 

에 예는 작동합니다.

1

GoogleMaps.LocationServices 1.2.1 NuGet 패키지에는 .NET 4.0 용 어셈블리가 포함되어 있으며 다른 대상 프레임 워크는 포함되어 있지 않습니다. 그래서 그것은 안드로이드 프로젝트를 지원하지 않습니다. NuGet은 lib/net40 디렉토리에 있기 때문에 GoogleMaps.Gelocation 어셈블리에 대한 참조를 추가하지 않으므로 호환되지 않는 것으로 간주됩니다.

대신 NuGet 패키지 Xamarin.GooglePlayServices.Location을 살펴 보겠습니다.

NuGet 패키지의 내용을 보면 콘텐츠 파일이 GoogleMaps.LocationServices.readme.txt인데 Android 프로젝트에이 파일을 설치할 수있는 것 같습니다. 이 GoogleMaps.LocationServices.readme.txt 파일이 프로젝트에 추가됩니다.

이상적으로 NuGet 패키지는 NuGet 패키지의 루트에 readme.txt 파일을 포함하고 프로젝트에 파일을 추가하지 않아야합니다. 이러한 readme.txt 파일은 프로젝트에 아무 것도 추가 할 필요없이 Visual Studio 설치시 자동으로 열립니다. 콘텐츠 파일을 제거하면 NuGet 패키지가 Android 프로젝트 또는 지원되지 않는 다른 프로젝트 유형에 설치되지 않습니다.

오래된 GoogleMaps.LocationsServices 0.9.0은 Android 프로젝트에 설치할 수 있지만 NuGet 패키지가 올바르게 패키지화되어 있지 않은 것 같습니다. 이 버전의 NuGet 패키지에있는 GoogleMaps.Gelocation 어셈블리는 lib 디렉토리에 있으며 대상 프레임 워크를 나타내지 않으므로 올바른 것으로 보이지 않는 모든 프로젝트 유형에서 허용됩니다.