I have two assemblies A & B.
A has existing reference to B and it must be kept that way. Right now I made some changes to B that need to refer to A. So circular
For issue 1, there is not really a solution other then merge the two projects or do some code generation
For the second, you can do that by implementing the Factory design pattern.