Xamarin Android(Mac) persisting error: "Could not load System.Drawing"

Xamarin Android(Mac) persisting error: "Could not load System.Drawing"

首先要明确的是,这是我尝试完成的第一个 Android 项目,所以我对这一切还是很陌生。 我一直被这个非常烦人的问题所困扰,即使删除了很多东西,我也无法再编译我的项目。在我的项目中的某个时刻,我添加了 'System' 命名空间以使用 'Exception' 关键字(以测试数据库连接)。在此之前,一切都运行良好。但是在尝试编译之后我得到了错误:

/Library/Frameworks/Mono.framework/External/xbuild/Xamarin/Android/Xamarin.Android.Common.targets:错误:加载程序集时出现异常:System.IO.FileNotFoundException:无法加载程序集'System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' .也许它不存在于 Android 配置文件的 Mono 中? 文件名:'System.Drawing.dll'

所以我只是在上面添加了 'using System.Drawing' 但后来我读到 Xamarin Android 不支持它。所以我再次删除它并尝试删除我为停止获取此异常所做的一切。然后,即使我将所有内容都注释掉,这个错误也会永远卡住。我可以写 'using System.Drawing' 而系统不会给该行一个错误,我认为这很奇怪,因为它在参考文献中无处可寻。我也真的不明白,因为我不画任何东西,也不认为使用 System.Drawing 中的任何东西。每当我引用 'System' 包时,我都会收到此错误,我不能没有,因为某些 android 文件依赖于它。我现在已经失去了几个小时而没有任何进展,基本上我已经走到了尽头。

这是我现在的 MainActivity.cs 文件,经过缩小,这是我唯一的 .cs 文件:

using Android.Graphics;
using Android.App;
using Android.Widget;
using Android.OS;
using Android.Gms.Maps;
using Android.Gms.Maps.Model;
using MySql.Data.MySqlClient;
using System;

namespace MapApp
{
    [Activity(Label = "MapApp", MainLauncher = true, Icon = "@mipmap/icon")]
    public class MainActivity : Activity, IOnMapReadyCallback
    {
        GoogleMap GMap;

        /// database

        protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);

            // Set our view from the "main" layout resource
            SetContentView(Resource.Layout.Main);
        }

        private void SetUpMap()
        {
            if (GMap == null)
            {
                FragmentManager.FindFragmentById<MapFragment>(Resource.Id.googlemap).GetMapAsync(this);   
            }
        }

        public void OnMapReady(GoogleMap map)
        {
            GMap = map;
            GMap.SetLatLngBoundsForCameraTarget(new LatLngBounds(
                new LatLng(51.873176, 4.393930),
                new LatLng(51.994576, 4.598036)));
            GMap.MoveCamera(CameraUpdateFactory.NewLatLngZoom(new LatLng(51.917879,4.481134),13));

            /*MarkerOptions markerOpt1 = new MarkerOptions();
            markerOpt1.SetPosition(new LatLng(51.917879, 4.481134));
            markerOpt1.SetTitle("Vimy Ridge");
            GMap.AddMarker(markerOpt1);*/

            CircleOptions dangerZone = new CircleOptions();
            dangerZone.InvokeCenter(new LatLng(51.917879, 4.481134));
            dangerZone.InvokeRadius(100);
            dangerZone.InvokeFillColor(0x7F00FF00);
            dangerZone.InvokeStrokeWidth(0);

            GMap.AddCircle(dangerZone);

        }
    }
}

这是我的参考资料和包的图片。(里面有很多 Xamarin 包,因为加载 Google 地图需要这些):

这里是我的项目结构的另一张图片,如果它可以帮助识别问题。

我已尝试删除我的所有包并清理我的 Big/Debug 文件夹并重建所有内容,但错误仍然存​​在。

一切正常,但现在我无法再构建它了。我写了一次 "using System" ,得到了这个错误,然后再也无法摆脱这个错误了。

我真的不想第二次重新启动我的项目,在每小时收到未知错误后,我们将不胜感激。

由于使用诊断日志记录,我发现了问题。 结果 'MySql.Data' 包加载了 'System.Drawing' 这当然在 Xamarin.Android.

中不受支持
Dependency System.Drawing, Version=4.0.0.0, Culture=neutral, 
Required by MySql.Data, Version=6.9.9.0, Culture=neutral

感谢 Lexi Li 提供了我非常需要的提示!