2017-11-19 23 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パッケージに名前空間が見つかりませんでした

なぜこのエラーが発生するのですか?

答えて

0

メソッドの新しいシグネチャが2017年にあるものをトレースするのは難しいですが、パッケージのバージョンを変更した場合の私の簡単な見方からはわかりません 0.9.0と使用の名前空間

using GoogleMaps.Geolocation; 

に例が動作するはずです。

1

GoogleMaps.LocationServices 1.2.1 NuGetパッケージには、.NET 4.0用のアセンブリが含まれており、その他のターゲットフレームワークは含まれていません。したがって、Androidプロジェクトはサポートされていません。 NuGetはGoogleMaps.Gelocationアセンブリへの参照を追加しません。これはlib/net40ディレクトリにあるため、互換性がないとみなされます。

代わりにXamarin.GooglePlayServices.Location NuGetパッケージを見てみましょう。

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ディレクトリにあり、すべてのプロジェクトタイプで許可されるように、ターゲットフレームワークを示すものではありませんが、正しいとは思われません。

関連する問題