.NET 5控制台应用注入IMemoryCache时AddMemoryCache报错如何解决
非ASP.NET控制台应用注入内存缓存的解决方法
报错原因
AddMemoryCache 是 Microsoft.Extensions.Caching.Memory 包提供的扩展方法,非ASP.NET项目默认不会内置引用这个包,因此编译时找不到对应方法定义。
解决步骤
- 安装匹配.NET 5版本的NuGet包
你可以通过NuGet包管理器搜索安装Microsoft.Extensions.Caching.Memory,选择5.x.x版本即可,也可以直接在包管理器控制台执行命令:
Install-Package Microsoft.Extensions.Caching.Memory -Version 5.0.0
- 确认命名空间引用
在启动代码文件头部确保已经引入了对应的命名空间:
// 这个命名空间包含AddMemoryCache扩展方法 using Microsoft.Extensions.DependencyInjection; // 这个命名空间包含IMemoryCache接口定义,Worker类文件也需要引入 using Microsoft.Extensions.Caching.Memory;
后续验证
完成上述操作后,你原本写的services.AddMemoryCache()注册代码、Worker类构造函数注入IMemoryCache的代码都不需要修改,直接编译即可通过,运行时依赖注入容器会自动完成内存缓存实例的解析和注入。
内容的提问来源于stack exchange,提问作者DriveBlind
相关产品推荐
相关产品推荐

