【问题标题】:Why am I missing Android UI elements in Xamarin Visual Studio 2019为什么我在 Xamarin Visual Studio 2019 中缺少 Android UI 元素
【发布时间】:2019-12-17 03:48:38
【问题描述】:

我正在使用 .NET 和 Xamarin 在 Visual Studio 中开发一个简单的 Android 应用程序。一切都很顺利,除了我似乎缺少某些 UI 元素。具体来说,我错过了 Spinner 类。在为 Android Xamarin 开发设置 Visual Studio 2019 时,我应该做些什么简单的事情来使这些可用?

当我尝试在 XAML 文件中包含 Spinner 时出现以下错误:

The type 'Spinner' was not found. Verify that you are not missing an assembly reference and that all referenced assemblies have been built.

现在可能是 Android 小部件在 Xamarin 中不可用 - 如果是这种情况,请让我直截了当。不过,我无法通过我的研究确认是否是这种情况。

这是我的 Visual Studio 构建、Xamarin 等的所有版本信息。我正在为 Android 9.0 构建。

Microsoft Visual Studio Community 2019
Version 16.4.1
VisualStudio.16.Release/16.4.1+29609.76
Microsoft .NET Framework
Version 4.7.03056

Installed Version: Community

Azure App Service Tools v3.0.0   16.4.457.38025
Azure App Service Tools v3.0.0

C# Tools   3.4.1-beta4-19607-02+52d275c4f82f329a9732b078c7f7fa0e45cd3e84
C# components used in the IDE. Depending on your project type and settings, a different version of the compiler may be used.

Common Azure Tools   1.10
Provides common services for use by Azure Mobile Services and Microsoft Azure Tools.

Extensibility Message Bus   1.2.0 (d16-2@8b56e20)
Provides common messaging-based MEF services for loosely coupled Visual Studio extension components communication and integration.

IntelliCode Extension   1.0
IntelliCode Visual Studio Extension Detailed Info

Microsoft JVM Debugger   1.0
Provides support for connecting the Visual Studio debugger to JDWP compatible Java Virtual Machines

Microsoft MI-Based Debugger   1.0
Provides support for connecting Visual Studio to MI compatible debuggers

Mono Debugging for Visual Studio   16.5.23 (1b51e8c)
Support for debugging Mono processes with Visual Studio.

NuGet Package Manager   5.4.0
NuGet Package Manager in Visual Studio. For more information about NuGet, visit https://docs.nuget.org/

ProjectServicesPackage Extension   1.0
ProjectServicesPackage Visual Studio Extension Detailed Info

Visual Basic Tools   3.4.1-beta4-19607-02+52d275c4f82f329a9732b078c7f7fa0e45cd3e84
Visual Basic components used in the IDE. Depending on your project type and settings, a different version of the compiler may be used.

Visual F# Tools 10.4 for F# 4.6   16.4.0-beta.19556.5+e7597deb7042710a7142bdccabd6f92b0840d354
Microsoft Visual F# Tools 10.4 for F# 4.6

Visual Studio Code Debug Adapter Host Package   1.0
Interop layer for hosting Visual Studio Code debug adapters in Visual Studio

VisualStudio.DeviceLog   1.0
Information about my package

VisualStudio.Foo   1.0
Information about my package

VisualStudio.Mac   1.0
Mac Extension for Visual Studio

Xamarin   16.4.000.306 (d16-4@564b8d0)
Visual Studio extension to enable development for Xamarin.iOS and Xamarin.Android.

Xamarin Designer   16.4.0.464 (remotes/origin/d16-4@4abf337c3)
Visual Studio extension to enable Xamarin Designer tools in Visual Studio.

Xamarin Templates   16.4.25 (579ee62)
Templates for building iOS, Android, and Windows apps with Xamarin and Xamarin.Forms.

Xamarin.Android SDK   10.1.1.0 (d16-4/f2c9364)
Xamarin.Android Reference Assemblies and MSBuild support.
    Mono: bef1e63
    Java.Interop: xamarin/java.interop/d16-4@c4e569f
    ProGuard: xamarin/proguard/master@905836d
    SQLite: xamarin/sqlite/3.28.0@46204c4
    Xamarin.Android Tools: xamarin/xamarin-android-tools/master@9f4ed4b


Xamarin.iOS and Xamarin.Mac SDK   13.8.3.0 (0d8fe21)
Xamarin.iOS and Xamarin.Mac Reference Assemblies and MSBuild support.

【问题讨论】:

  • 您使用哪个版本的 Xamarin Forms?什么 Android 操作系统级别的目标?请详细说明。
  • 复制/粘贴 Visual Studio 版本信息,以防万一。
  • @Trekkie,你想在 Xamarin.forms 中使用 Spinner 吗?我认为是Xamarin.Forms中的控件,我想你可以用这个来替换spinner:github.com/amccorma/xamarin-amccorma/tree/master/Forms.DropDown
  • 这似乎可行,但我的问题是为什么我一开始就想念 Spinner
  • @Trekkie,很抱歉我的第一个评论,我认为微调器不是 Xamarin.forms 中的控件,您想在 PCL 中使用它吗?它可以在Android中使用。

标签: c# android .net xamarin


【解决方案1】:

欢迎使用 Xamarin

如果您想创建一个纯 Xamarin.Android 应用程序(并使用 Spinner 等小部件),您必须通过选择红色选项来创建一个 Android 应用程序Visual Studio 2019 中的下图中:

在那里,您将可以访问 Android 必须提供的大部分(如果不是全部)widgets。详情请参考Xamarin docu

要使用 Xamarin.Android 创建 Spinner,您还可以找到 tutorial in the Xamarin docu

现在,回到你的问题和你得到的错误:

在我看来,您创建了一个 Xamarin.Forms 解决方案,并且您正在尝试实施一个 Spinner(我从您收到的错误中看到了这一点,并且因为您说的是 XAML,它仅适用于 Xamarin.Forms 应用程序!)。如果是这种情况,您应该知道 Spinner 未在 Xamarin.Forms 中定义!

如果你真的想创建一个 Xamarin.Forms 应用程序(如果你真的想跨平台!)你仍然可以使用 Spinner:同样,Xamarin 文档提供了一些关于如何在 Xamarin.Forms 中使用 Native 视图的信息。

另一方面,如果你真的想使用 Xamarin.Forms,并且想尽可能多地共享代码,你应该看看Picker

【讨论】:

  • 另一个答案是有用的信息,但这绝对是我问题的根源;谢谢!
【解决方案2】:

您必须为使用的支持库重新/安装 NuGet 包。

以下是所有可用库的列表: https://www.nuget.org/packages?q=Xamarin+support

您也可以在 Visual Studio 的 NuGet 包管理器中找到它们

【讨论】:

    猜你喜欢
    • 2020-10-06
    • 2020-11-07
    • 2019-09-03
    • 2021-08-26
    • 1970-01-01
    • 2018-07-10
    • 1970-01-01
    • 2021-08-26
    • 2023-03-29
    相关资源
    最近更新 更多