嗨,伙计们,
我需要在项目中创建一个库,该库在内部使用 DI,如下所示:
图书馆
namespace Library
{
public class SomeService : ISomeService
{
private readonly IOtherService _otherService;
public SomeService(IOtherService otherService,
IConfiguration configuration) { /* constructor stuff */ }
//... class stuff
}
}
但是它将作为nuget包在另一个不直接使用DI的项目中使用。
解决此库的依赖关系并在客户端项目上实例化服务的最佳方法是什么?
我正在考虑使用 ServiceLocator 模式创建一个入口点,并将其提供给客户端,这是完成这项工作的唯一方法(或最佳方法)吗?
有没有另一种方法来建立这样的图书馆?
编辑:我在内部使用 DI 框架来连接库中的类。并且客户端项目有一个启动注册依赖项,但类不准备接收构造函数中的实例。