【问题标题】:GoogleMaps.LocationServices NuGet package says namespace could not be foundGoogleMaps.LocationServices NuGet 包说找不到命名空间
【发布时间】:2017-11-19 16:32:56
【问题描述】:

我正在 Visual Studio 2017 上使用 Xamarin 创建一个 android 应用程序。我正在尝试通过本指南 (http://www.c-sharpcorner.com/blogs/find-latitude-and-longitude-using-c-sharp1) 使用 NuGet 包 GoogleMaps.LocationServices。我已经很好地安装了软件包 但是,当我尝试像我遵循的指南那样在我的代码上使用该包时,我只是得到一个错误,说它找不到命名空间: 这意味着我无法创建一个 GoogleLocationService() 对象,而我需要这样做才能使用位置地址列表创建一个 Google Maps pin point。

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

【问题讨论】:

    标签: android visual-studio google-maps xamarin nuget


    【解决方案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目录下,并没有指明任何目标框架,所以在所有项目类型中都允许,这似乎不正确。

    【讨论】:

      【解决方案2】:

      很难追踪 2017 年这些方法的新签名是什么,但从我的简要介绍来看,如果您将包上的版本更改为 0.9.0 并使用命名空间

      using GoogleMaps.Geolocation;
      

      这个例子应该可以工作。

      【讨论】:

        猜你喜欢
        • 2023-02-26
        • 1970-01-01
        • 2017-01-26
        • 1970-01-01
        • 1970-01-01
        • 2015-06-15
        • 1970-01-01
        • 2015-06-20
        相关资源
        最近更新 更多