Ninject StandardKernel System.ArgumentNullException: значение не может быть нулевым.Имя параметра: путь1 - PullRequest
0 голосов
/ 29 мая 2018

Я учусь Xamarin, и я хотел использовать Ninject для IoC контейнеров и внедрения зависимостей.Я добавил Ninject 3.3.4, используя пакет NuGet в сообществе Visual studio 2017.Я получаю сообщение об ошибке в следующей строке кода в моем App.Xaml.cs:

Kernel = new StandardKernel(new TripLogCoreModule(), new TripLogNavModule(mainPage.Navigation));

Я получаю следующую ошибку:

Ninject StandardKernel System.ArgumentNullException: значение не может быть нулевым,Имя параметра: path1

Я провел около 2 часов в Интернете и не смог найти решение своей проблемы.

Наконец, я нашел упущение, которое сделал, поэтому яподумал написать этот вопрос и ответить на мой собственный вопрос, на случай, если кто-то другой (как я новичок) совершит эту ошибку.

Ответы [ 2 ]

0 голосов
/ 16 августа 2018

Лично у меня была ошибка с Ninject и Ninject.PCL пакетов

Попробуйте собрать StandardKernel с NinjectSettings :

var settings = new Ninject.NinjectSettings() { LoadExtensions = false };
Kernel = new StandardKernel(settings, new ViewModelsModule());

С уважением

0 голосов
/ 29 мая 2018

Упущение, которое я сделал, заключалось в том, что я установил неправильный пакет.Я должен был установить Portable.Ninject.

Чтобы это исправить, я удалил Ninject3.3.4 из всех своих проектов, а затем установил Portable.Ninject 3.3.1 (последняя стабильная версия на момент написания) через пакет NuGet.

Надеюсьэто помогает и экономит время тех людей, которые могут совершить подобную ошибку!

...