首先说一下.Net Core 自带的注入。
新建一个NetCore 控制台程序,我这里用的是.NetCore3.1 ,创建好项目之后,添加Nugget引用如下:

然后修改Program.cs文件
private static IConfiguration Configuration { get; set; } static void Main(string[] args) { CreateHostBuilder(args).Build().Run(); } public static IHostBuilder CreateHostBuilder(string[] args) => Host.CreateDefaultBuilder(args) .ConfigureAppConfiguration((_, config) => Configuration = config.Build()) .ConfigureServices(ConfigureServices); private static void ConfigureServices(IServiceCollection services) { // 注入mysql上下文 services.AddScoped<DbContext, MySqlDbContext>(); services.AddDbContext<MySqlDbContext>(options => options.UseMySql(Configuration.GetConnectionString("Default"), options => options.CommandTimeout(300) )); // 注入相关的Service services.AddTransient<IFirstService,FirstServiceImpl>(); services.AddTransient<ISecondService, SecondServiceImpl>(); //注册后台服务 services.AddHostedService<Worker>(); }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异