Установленный пакет Ninject, но не найден - PullRequest
0 голосов
/ 19 апреля 2019

Я создаю проект ASP.NET Web API с кодом, который работал для другого решения.

Я установил пакеты Ninject и Ninject.Extensions.ChildKernel, но они не найдены в файле: NinjectResolver.cs

Ошибка: Error

Код:

using Ninject;
using Ninject.Extensions.ChildKernel;
using Assurance.Abstract;
using Assurance.Service;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Http.Dependencies;

namespace Assurance.API
{
    public class NinjectResolver : IDependencyResolver
    {
        private IKernel kernel;

        public NinjectResolver()
            : this(new StandardKernel())
        {

        }

        public NinjectResolver(IKernel ninjectKernel, bool scope = false)
        {
            kernel = ninjectKernel;
            if (!scope)
            {
                AddBindings(kernel);
            }
        }

        public IDependencyScope BeginScope()
        {
            return new NinjectResolver(AddRequestBindings(new ChildKernel(kernel)), true);
        }

        public object GetService(Type serviceType)
        {
            return kernel.TryGet(serviceType);
        }

        public IEnumerable<object> GetServices(Type serviceType)
        {
            return kernel.GetAll(serviceType);
        }

        public void Dispose()
        {

        }

        private void AddBindings(IKernel kernel)
        {
            // singleton and transient bindings go here
        }

        private IKernel AddRequestBindings(IKernel kernel)
        {

            kernel.Bind(typeof(IClientRepository<>)).To(typeof(ClientRepository<>)).InSingletonScope();

            kernel.Bind<IClientService>().To<ClientService>().InSingletonScope();
            return kernel;
        }
    }
}

Ps: код, используемый для работы, и я успешно установил пакеты, биты всегдане строит.

Что я могу сделать?

Вот мой менеджер Nuget: Packages installed

...