You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

.NET Core MVC依赖注入报错:激活控制器时无法解析服务

解决.NET Core依赖注入错误:无法解析IBlogRepository服务

错误信息

InvalidOperationException: Unable to resolve service for type 'BlogApi.Models.IBlogRepository' while attempting to activate 'BlogApi.Controllers.BlogController'.

排查及解决步骤

  • 检查命名空间一致性:确认IBlogRepository和BlogRepository的命名空间与Startup类中引用的完全一致。比如接口在BlogApi.Models,实现类不能在未被引用的其他命名空间下,需确保Startup类顶部添加了对应命名空间的using语句。
  • 验证程序集引用:如果仓储类和接口位于独立类库项目,务必确认Web项目已正确引用该类库(右键Web项目→添加项目引用,选中目标类库)。
  • 检查访问修饰符:确保IBlogRepository和BlogRepository都使用public修饰符,DI容器无法访问internal或私有类型。
  • 确认Startup配置生效:检查Program.cs(.NET 3.1+)或WebApplicationBuilder配置(.NET 6+),确保Startup类被正确加载,ConfigureServices方法被执行。
  • 核对注册拼写与顺序:再次确认services.AddScoped<IBlogRepository, BlogRepository>();的泛型参数顺序(接口在前,实现类在后),且类名无拼写错误。

你的代码参考

控制器代码

public class BlogController : ControllerBase
{
    private readonly IBlogRepository _blogRepository;

    public BlogController(IBlogRepository blogRepository)
    {
        _blogRepository = blogRepository;
    }
}

Startup代码

public Startup(IConfiguration configuration)
{
    Configuration = configuration;
}

public IConfiguration Configuration { get; }

public void ConfigureServices(IServiceCollection services)
{
    
    services.AddDbContext<AppDbContext>(options =>
        options.UseSqlServer(Configuration.GetConnectionString("DBConnection")));

    services.AddScoped<IBlogRepository, BlogRepository>();

    services.AddControllers();
    
}

BlogRepository实现

public class BlogRepository : IBlogRepository
{
    private readonly AppDbContext _context;

    public BlogRepository(AppDbContext context)
    {
        _context = context;
    }

    public async Task<IEnumerable<Blog>> Search(string name)
    {
        return await _context.Blogs
            .Where(b => b.Name.Contains(name))
            .ToListAsync();
    }
}

IBlogRepository接口

public interface IBlogRepository
{
    // Search blogs by name
    Task<IEnumerable<Blog>> Search(string name);
}

内容的提问来源于stack exchange,提问作者Gen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.29 09:07:51