【发布时间】:2023-04-05 02:16:01
【问题描述】:
我想在基于 .NET Standard 5 的类库中使用依赖注入。此外,类库没有 startup.cs 文件,因此我无法注入我的依赖项。
这里有什么我遗漏的吗?
请多多指教。
【问题讨论】:
-
首先,清楚地确定您要使用的内容。 没有 .NET Standard 5 这样的东西。此外,依赖注入通常是“宿主”应用程序的责任,而不是类库需要/应该关心的事情。
-
一些库提供了扩展方法,“主机”应用程序可以调用这些扩展方法,使库向应用程序启动的 DI 容器注册自身。
-
你应该看看我的that答案
-
作为解决方案一部分的类库与独立发布(可能通过 NuGet)的类库之间存在很大差异。如果类库是(单一)解决方案的一部分,答案是您将注册放在Composition Root 中。但是,如果该库是一个单独的可部署库,则应遵循 DI-friendly libraries 的做法。
标签: .net dependency-injection .net-standard