Моя цель - расширить существующий проект Xamarin с помощью UWP .
У меня есть два общих проекта, X. mobile.shared и X. application.shared , поэтому я добавил ссылку на проект Uwp к этим двум проектам.
После выполнения действий по добавлению uwp из документация , я также установил все пакеты Nuget, доступные в этих общих проектах, как отмечается в ответе на эту проблему .
Теперь, когда я отлаживаю проект UWP, я не получаю никакой ошибки, кроме необработанного исключения , я попытался указать точку, которая вызывает это исключение, иЯ обнаружил, что раскомментируя эту строку:
rootFrame.Navigate(typeof(MainPage), e.Arguments);
Вызывает необработанное исключение:
![unhandled exception](https://i.stack.imgur.com/asdIk.png)
Сообщение содержит, как вы видите визображение:
Message "Object reference not set to an instance of an object."
, что означает, что имеется ссылка на нулевой объект!
Что я делаю не так?
Обновление
С точкой останова на линии, вызывающей ошибку, я попытался увидеть, что значение метода - аргументы, я обнаружил, что DeclaringMethod , вызываемый typeofMain () возвращает " SystemInvalidOpertaionException " .![SystemInvalidOperationException](https://i.stack.imgur.com/dS3xU.png)
что это значит?
Обновление 2
Получив совет @Martin Zikmund, я проверил трассировку стека и обнаружил, чтопроблема возникает в:
Acme.PhoneBookDemo.Core.Dependency.DependencyResolver.Resolve[T]()\r\n at Acme.PhoneBookDemo.App.OnStart()
обратно в этот класс, это код метода OnStart ():
protected override async void OnStart()
{
base.OnStart();
if (Device.RuntimePlatform == Device.iOS)
{
SetInitialScreenForIos();
await UserConfigurationManager.GetIfNeedsAsync();
}
await DependencyResolver.Resolve<INavigationService>().InitializeAsync();
OnResume();
}
проблема возникает, когда отладчик приходит в эту строку:
await DependencyResolver.Resolve<INavigationService>().InitializeAsync();