android - GoogleMaps.LocationServices NuGet 包说找不到命名空间

标签 android visual-studio google-maps xamarin nuget

我正在 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 这意味着我无法创建 GoogleLocationService() 对象,而这是我使用位置地址列表创建 Google map 定位点所需要做的。

有人知道为什么我会收到此错误吗?不确定我现在是否只需要使用不同的命名空间,因为本指南来自 2013 年。

最佳答案

GoogleMaps.LocationServices 1.2.1 NuGet 包包含一个 .NET 4.0 程序集,没有其他目标框架。所以不支持安卓项目。 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 目录中,并且未指示任何目标框架,因此在所有项目类型中都允许使用,这似乎不正确。

关于android - GoogleMaps.LocationServices NuGet 包说找不到命名空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47379181/

相关文章:

java - 听音量按钮事件android

android - 将 TextView 对象动态添加到 Fragment

javascript - 如何在 Google map 中自动打开特定标记的信息框?

java - 带有 9patch 的 LibGdx 标签背景

java - java android 中的转换(ArrayList)

c# - Json 与 .NET 和 C#?

c# - 使用 session 变量时如何解决 ASP.Net "Input string was not in a correct format"错误

c# - System.Net.Http 无法加载

JavaScript Google Maps API 如何将位置经/纬度存储到全局变量

android,计算两地之间的距离,谷歌距离矩阵