GoogleMaps.LocationServices NuGet包说无法找到命名空间

时间:2017-11-19 16:32:57

标签: 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 Maps固定点所需要做的。

任何人都知道为什么我会收到这个错误?不确定我是否只需要使用不同的命名空间,因为本指南是从2013年开始的。

2 个答案:

答案 0 :(得分:2)

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目录中,并不表示任何目标框架,因此在所有项目类型中都允许使用它,这似乎不正确。

答案 1 :(得分:0)

很难跟踪2017年方法的新签名是什么,但是如果你将包的版本改为 0.9.0并使用命名空间

using GoogleMaps.Geolocation;

这个例子应该可行。