The requested service has not been registered ! AutoFac Dependency Injection

.net, autofac, c#, dependency-injection

Solution

With the statement:

builder.RegisterType<ProductService>().As<IProductService>();

Told Autofac whenever somebody tries to resolve an `IProductService` give them an `ProductService`

So you need to resolve the `IProductService` and to the `ProductService`:

using (var container = builder.Build())
{
    container.Resolve<IProductService>().DoSomething();
}

Or if you want to keep the `Resolve<ProductService>` register it with AsSelf:

builder.RegisterType<ProductService>().AsSelf();

Problem

I am simply trying to use AutoFac to resolve dependencies but it throws exception such as The requested service 'ProductService' has not been registered. To avoid this exception, either register a component to provide service or use IsRegistered()... ``` class Program { static void Main(string[] args) { var builder = new ContainerBuilder(); builder.RegisterType<ProductService>().As<IProductService>(); using (var container = builder.Build()) { container.Resolve<ProductService>().DoSomething(); } } } public class ProductService : IProductService { public void DoSomething() { Console.WriteLine("I do lots of things!!!"); } } public interface IProductService { void DoSomething(); } ``` What I have done wrong ?

Original source