Я создаю проект ASP.NET Web API с кодом, который работал для другого решения.
Я установил пакеты Ninject и Ninject.Extensions.ChildKernel, но они не найдены в файле: NinjectResolver.cs
Ошибка:
Код:
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: