Instead of injecting the objects, you can inject the functions to built them, when you have a circular reference:
Container.RegisterType<IMyService, ImplService>(... );
public class MyClass {
private Func<IMyService> _serviceProvider;
public MyClass(Func<IMyService> serviceProvider) { _serviceProvider = serviceProvider }
public void DoStuff() {
_serviceProvider().DoSomething();
}
}
Unity will inject a function that returns IMyService