我们如何在Xamarin.forms中而不是仅在Xamarin.Android中添加android nuget

问题描述 投票:0回答:1

我正在尝试在Xamarin Forms项目中安装下面的NuGet(而不是在Xamarin.Android项目中)

  • Xamarin.Android.Support.core.Utiles
  • Xamarin.Android.Support.Animated.Vector.Drawable

我想在没有特定于平台的条件的情况下访问Xamarin项目类中的MediaProjectionManager。请帮助我。

现在,每当我试图在Xamarin Forms项目中安装与android相关的NuGet软件包时,我都会收到以下错误。

Error   NU1202  Package Xamarin.Android.Support.Vector.Drawable 28.0.0.3 is not compatible with netstandard2.1 (.NETStandard,Version=v2.1). Package Xamarin.Android.Support.Vector.Drawable 28.0.0.3 supports:
  - monoandroid60 (MonoAndroid,Version=v6.0)
  - monoandroid70 (MonoAndroid,Version=v7.0)
  - monoandroid71 (MonoAndroid,Version=v7.1)
  - monoandroid80 (MonoAndroid,Version=v8.0)
  - monoandroid81 (MonoAndroid,Version=v8.1)
  - monoandroid90 (MonoAndroid,Version=v9.0)    

Error Package restore failed. Rolling back package changes for .                    

如果我在Xamarin项目的cs文件中编写以下代码,并且如果我尝试从Xamarin.Android项目的MainActivity.cs文件访问以下对象,则会出现以下错误。

MediaProjection对象在XamarinFile中不可用。它无法访问任何与Android相关的功能或对象。

#if __ANDROID__
        public MediaProjection MediaProjection { get; set; }
#endif

XamarinFile.Instance.MediaProjection = manager.GetMediaProjection((int)resultCode, data);
xamarin xamarin.forms xamarin.android
1个回答
0
投票

您正在尝试将不兼容的Android库安装到Xamarin .NET Standard / PCL项目中。错误本身清楚地表明了这一点。如果要为Xamarin Forms应用程序提供任何特定于平台的功能,则可以尝试为其创建自定义视图,并在本机项目中编写自定义渲染器。在相应的本机项目中,安装所需的软件包并实现所需的功能。

有关更多详细信息,请参见Xamarin Forms Custom Renderers documentation。>>

否则,请尝试将您的项目创建为共享项目而不是.NET Standard项目。

有关更多详细信息,请参见Shared Project documentation here

© www.soinside.com 2019 - 2024. All rights reserved.