У меня есть MyProject проект, где у меня есть IMyService
интерфейс и MyService
класс, который реализует IMyService
.В классе Startup.cs I их внедрение зависимостей:
// MyProject project | Startup.cs
public void ConfigureServices(IServiceCollection services)
{
services.AddScoped<IMyService, MyService>();
}
Поскольку MyService
имеет много зависимостей (делает много вызовов REST сторонним разработчикам и т. Д.), Я хотел бы создать его заглушку для среды разработки,Я создал новый MyStubsProject , который ссылается на MyProject .И я реализовал заглушку версии IMyService
в MyStubsProject :
// MyStubsProject project
public class MyStubService : IMyService
{
...
}
Так что теперь я хочу добавить внедрение зависимостей в класс Startup.cs:
// MyProject project | Startup.cs
public void ConfigureServices(IServiceCollection services)
{
if (isDevelopmentEnvironment)
services.AddScoped<IMyService, MyStubService>();
else
services.AddScoped<IMyService, MyService>();
}
Но если я добавлю это, то будет * круговая зависимость между MyProject и MyStubsProject .
Как мне реализовать ссылку на класс MyStubService
или MyStubsProject проект в Startup.cs?