关于依赖注入请尽量在 Development 环境进行调试
💡
原文中文,约2700字,阅读约需7分钟。
📝
内容提要
.NET的依赖注入系统在开发环境下会提前校验依赖关系,导致未注册服务时报错,而其他环境则在运行时校验。通过修改环境设置或强制开启校验可避免此问题。
🎯
关键要点
- 在开发环境下,.NET的依赖注入系统会提前校验依赖关系,导致未注册服务时报错。
- 其他环境在运行时才会校验依赖关系,因此不会提前报错。
- 通过修改launchSettings.json中的ASPNETCORE_ENVIRONMENT可以避免开发环境下的依赖校验问题。
- 在Development环境下,DefaultServiceProviderOptions的ValidateScopes与ValidateOnBuild会被设置为True。
- 可以通过强制开启依赖关系的校验来在任何环境下都报错。
- 调试时建议选择在Development环境下进行,或手动强制开启校验。
➡️