DI015

Unresolvable Dependency

registered services with direct or transitive constructor/factory dependencies that are not registered (including keyed and open-generic paths).

Default severity: Warning · Code fix: Yes

Why it matters

runtime activation fails when DI tries to create the service.

Planning to build a kite without string means the build fails when you start.

README problem example

public interface IMissingDependency { }
public interface IMyService { }

public sealed class MyService : IMyService
{
    public MyService(IMissingDependency missing) { }
}

services.AddSingleton<IMyService, MyService>();

README better pattern

public sealed class MissingDependency : IMissingDependency { }

services.AddScoped<IMissingDependency, MissingDependency>();
services.AddSingleton<IMyService, MyService>();

No.

Repo sample extraction

Examples pulled from the sample app

Open full sample file

Sample app warning case

public class BadUnresolvableService
{
    public BadUnresolvableService(IMissingDependency missing) { }
}

Sample app safe pattern

public class GoodResolvableService
{
    public GoodResolvableService(IRegisteredDependency dependency) { }
}