Visual Studio не будет запускать эмулятор Android при тестировании сгенерированной стартовой программы. Я думаю, что у меня есть все библиотеки и зависимости, которые понадобятся мне для тестирования программы в эмулируемой среде, а сам эмулятор работает просто отлично, за исключением того, что для его запуска требуется много времени.
К предисловию, я новичок в Xamarin. Я провел небольшое исследование и разработку в андроид студии, которую я имел в другой системе. Я перешел на Xamarin для поддержки мультиплатформенности.
Я использую Visual Studio Enterprise 2017. С его помощью я установил Xamarin для мобильной разработки с .NET, а также установил Android SDK с уровнем API 27 как для Oreo8.1, так и для Pie ONLY, как для системного образа Intel x86 Atom_64. и не 64-битные образы, API Google Intel x86 Atom System Image, как 64-разрядные, так и не 64-разрядные, и Google Play Intel x86 Atom System Image, как 64-разрядные, так и нет, эмулятор Google Android с API уровня 27, Intel HAXM и универсальные инструменты для платформы Windows для Xamarin.
У меня также установлен Android NDK, но только с R15C.
Проблема:
У меня есть программа, которая является простой программой hello world, которая автоматически создается в каждом приложении xamarin.forms в Visual Studio при создании. Я не касался этого кода вообще. Я просто хочу запустить эту программу, чтобы я мог проверить, что мой эмулятор, а также мой компилятор C # и все остальное, что мне нужно для разработки с помощью этого инструмента, работают по мере необходимости, прежде чем я начну разрабатывать что-либо на этой платформе. У меня есть диспетчер устройств Android с одной эмуляцией Pixel Oreo 8.1. Я обновил все пакеты NuGet для решения.
Каждый раз, когда я нажимаю кнопку «Пуск» на панели инструментов, я получаю окно с сообщением о том, что были проблемы с развертыванием, и когда я продолжаю его выполнение, я получаю всплывающую ошибку, которая говорит просто «ссылка на объект не установлена на экземпляр объект." с последующим предупреждением со следующим:
Severity Code Description Project File Line Suppression State
Warning Failed to read 'C:\Users\<redacted>\source\repos\HelloWorld\HelloWorld\HelloWorld.Android\obj\Debug\81\android\assets\Xamarin.Forms.Platform.Android.dll' with debugging symbols. Retrying to load it without it. Error details are logged below. HelloWorld.Android
Warning One or more errors occurred. HelloWorld.Android
Severity Code Description Project File Line Suppression State
Warning Mono.Cecil.Cil.SymbolsNotMatchingException: Symbols were found but are not matching the assembly
at Mono.Cecil.ModuleDefinition.ReadSymbols(ISymbolReader reader, Boolean throwIfSymbolsAreNotMaching)
at Mono.Cecil.ModuleReader.ReadSymbols(ModuleDefinition module, ReaderParameters parameters)
at Mono.Cecil.ModuleReader.CreateModule(Image image, ReaderParameters parameters)
at Mono.Cecil.ModuleDefinition.ReadModule(Disposable`1 stream, String fileName, ReaderParameters parameters)
at Mono.Cecil.ModuleDefinition.ReadModule(String fileName, ReaderParameters parameters)
at Mono.Cecil.AssemblyDefinition.ReadAssembly(String fileName, ReaderParameters parameters)
at Java.Interop.Tools.Cecil.DirectoryAssemblyResolver.ReadAssembly(String file) HelloWorld.Android
Исследование, которое я нашел относительно этой конкретной ошибки, выглядит следующим образом:
Что означает «ссылка на объект не установлена для экземпляра объекта»?
Что означает «ссылка на объект не установлена для экземпляра объекта»?
(Не относится, потому что я совершенно не изменил код.)
Ссылка на объект не установлена для экземпляра объекта При создании нового приложения для Android (Visual Studio)
Ссылка на объект не установлена для экземпляра объекта При создании нового приложения для Android (Visual Studio)
Я применил ответ, найденный в этом вопросе, но я использую еще более новую версию Android SDK, чем указанную в этом вопросе, а точнее девять версий Android! Я обновил все в двух ОС Android, которые я здесь использую, и единственные платформы Android SDK, предлагаемые в обеих соответствующих версиях, - это платформы 27 и 28 для Oreo и Pie соответственно, но я все еще получаю сообщение об ошибке.
Единственное, о чем я могу подумать, это может вызвать эту проблему - я пропускаю какую-то зависимость или библиотеку, которые мне нужны для запуска Intel HAXM, который у меня также есть, и работает без проблем на этом компьютере. Я могу запустить эмуляцию пикселей очень хорошо, несмотря на то, что на инициализацию уходит целая вечность, что приводит меня к симулируемому устройству Android.
Я пытаюсь запустить это не с того места? Я что-то не так установил? Нужно ли указывать программу куда-нибудь? Что я делаю неправильно?
Предполагается, что на устройстве будет открыто одно действие с текстом одной метки: «Добро пожаловать в Xamarin.Forms! Hello World». по центру экрана.