【问题标题】:Type or namespace "Android" could not be found找不到类型或命名空间“Android”
【发布时间】:2021-03-01 20:31:23
【问题描述】:

我正在使用 Xamarin.Forms 4.8 创建一个 Android 应用,需要添加命名空间“Android.Media”才能使用 MediaPlayer 类。

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Xamarin.Forms;
using Xamarin.Forms.PlatformConfiguration.TizenSpecific;
using Android.Media;

namespace Breakapp
{
    public partial class MainPage : ContentPage
    {
        int seconds = 0;
        int minutes = 0;

        public MainPage()
        {
            InitializeComponent();
        }

        protected override void OnAppearing()
        {
            base.OnAppearing();
            minutes = Convert.ToInt32(Minutes.Text);
            seconds = Convert.ToInt32(Seconds.Text);

            Device.StartTimer(TimeSpan.FromSeconds(1), () =>
            {
                .....

但是,一旦我尝试使用 using 指令添加它,我就会收到以下错误:

CS0246 找不到类型或命名空间名称“Android”(您是否缺少 using 指令或程序集引用?)

当我查看错误消息时,我发现其他人通过添加“Mono.Android”程序集作为对其项目的引用来修复此错误。但是这个程序集已经被添加了。我已经尝试删除程序集并阅读它,但它根本不起作用。

【问题讨论】:

  • 你要添加到哪个项目?
  • 我不确定您的确切意思,但我将程序集添加到 projectname.Andoid。
  • 首先需要添加作为参考。查看解决方案资源管理器参考,看看它是否是黄色的。位置可能已移动,但未找到参考。
  • 它不是黄色的
  • 您正尝试在共享(跨平台)项目中使用 Android 命名空间。那行不通 - 使用 Android 特定代码意味着该代码不是跨平台的

标签: c# android xamarin namespaces assemblies


【解决方案1】:

您的项目需要引用Xamarin.Android,以便您能够使用Android.Media

默认情况下,您的 Xamarin 标准项目(您所引用的)没有此引用,并且通常不应有此引用(因为它无法在 iOS、UWP 或任何其他受支持的平台上编译)。

您的解决方案中有一个本机项目已经具有此引用,您可以使用依赖注入从中调用此代码。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-25
    • 2021-09-27
    • 2017-07-12
    • 2011-05-13
    • 2020-08-13
    相关资源
    最近更新 更多