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

.NET中IServiceCollection扩展方法AddApplication无法找到的问题

.NET扩展方法AddApplication找不到的解决办法

问题重现

我尝试在.NET中通过扩展方法实现依赖注入,编写了以下代码:

src/Application/DependencyInjection.cs

using FluentValidation;
using Microsoft.Extensions.DependencyInjection;

namespace Application;

public static class DependencyInjection
{
    public static IServiceCollection AddApplication(this IServiceCollection services) {
        var assembly = typeof(DependencyInjection).Assembly;

        services.AddMediatR(configuration =>
            configuration.RegisterServicesFromAssembly(assembly)
        );
        services.AddValidatorsFromAssembly(assembly);
        return services;
            
    }
}

在WebApi项目的Program.cs中调用该扩展方法时:

builder.Services.AddApplication(); // 触发错误

收到错误提示:

'IServiceCollection' 不包含 'AddApplication' 的定义,也找不到可接受类型为 'IServiceCollection' 的第一个参数的可访问扩展方法 'AddApplication'。

解决方法

  • 添加项目引用:确保WebApi项目已引用Application项目。右键WebApi项目 → 选择「项目引用」→ 勾选Application项目。
  • 引入命名空间:在WebApi的Program.cs顶部添加命名空间引用:using Application;,扩展方法所在的命名空间必须显式引入才能被识别。
  • 验证访问权限:确认DependencyInjection类和AddApplication方法均为public修饰(你的代码已满足,但如果误改为internal会导致无法访问)。
  • 清理重建项目:若上述操作后仍报错,尝试清理解决方案并重新生成所有项目,清除VS的编译缓存。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 01:23:14