Xamarin Custom View ClassNotFoundException

Я новичок в Xamarin. Я пытаюсь создать собственное представление в приложении Android, но оно вызывает исключение ClassNotFoundException в конструкторе. Я искал похожие проблемы, но не нашел аналогичных (только ​​здесь - это то, что Я думаю, может быть очень похоже, но на самом деле это не решено - ответы говорят, что нужно редактировать java файл, но это невозможно при работе в Xamarin). Вот мой код MainActivity.cs:

using Android.App;
using Android.OS;

namespace App5
{
    [Activity(Label = "App5", MainLauncher = true)]
    public class MainActivity : Activity
    {
        protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);
            View1 view = new View1(this);
            SetContentView(view);
            //SetContentView(Resource.Layout.Main);
         }
    }
}

и View1.cs:

using Android.Content;
using Android.Views;

namespace App5
{
    public class View1 : View
    {
        public View1(Context context)
           : base(context)
        {
        }
    }
}

и это описание исключения:

Java.Lang.ClassNotFoundException: не удалось найти класс «md593b8d625023f6802361dd1b8a6546be5.View1» на пути: DexPathList [[zip file »/data/app/App5.App5-1/base.apk"pting,nativeLibraryDireatactories/[/apps/ App5.App5-1 / lib / arm64, / system / fake-libs64, /data/app/App5.App5-1/base.apk!/lib/arm64-v8a, / system / lib64, / vendor / lib64]]

Очень странно, что когда я комментирую наследование от View и наследование конструктора и, конечно, SetContentView для макета в ресурсе, система «может найти этот класс», и приложение не падает.

Я использую VisualStudio 2015, и у меня установлена ​​последняя стабильная версия Xamarin.


person fortepian    schedule 14.12.2017    source источник


Ответы (1)


Попробуйте удалить bin и obj и пересобрать проект. Это случилось со мной после последнего обновления Visual Studio. Другой вариант - убить msbuilld.

person W0RT4    schedule 14.12.2017
comment
У меня тоже работало. +1 - person Vincent; 18.01.2018