我正在尝试在Xamarin Forms项目中安装下面的NuGet(而不是在Xamarin.Android项目中)
我想在没有特定于平台的条件的情况下访问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);
您正在尝试将不兼容的Android库安装到Xamarin .NET Standard / PCL项目中。错误本身清楚地表明了这一点。如果要为Xamarin Forms应用程序提供任何特定于平台的功能,则可以尝试为其创建自定义视图,并在本机项目中编写自定义渲染器。在相应的本机项目中,安装所需的软件包并实现所需的功能。
有关更多详细信息,请参见Xamarin Forms Custom Renderers documentation。>>
否则,请尝试将您的项目创建为共享项目而不是.NET Standard项目。
有关更多详细信息,请参见Shared Project documentation here。