Visual Studio 2017 / Xamarin Android Emulator "Ссылка на объект не установлена ​​для экземпляра объекта." при попытке протестировать стартовую программу - PullRequest
0 голосов
/ 20 июня 2019

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». по центру экрана.

1 Ответ

0 голосов
/ 20 июня 2019

Попробуйте следующие шаги,

  • Чистый раствор
  • Перезапустите VS
  • Чистый раствор
  • Восстановите

Откройте менеджер устройств Android и запустите ваш эмулятор вручную.Убедитесь, что проект Android установлен в качестве начального проекта.

, затем разверните.

...