Solution insight and problem.
There are multiple BC in my solution, which at some point will be translated as microservices. At this point everything will run under the same process thus an unknowingly someone could just add references wherever he/she would like, which of course is not desirable if we are to keep the structure.
So what I'm asking is how do you enforce a rule that there will be no dependencies between BC, and I'm not talking about pull-request, the problem should be immediately evident for anyone who is trying to use something from another BC aside from the one he/she is working one at that point.
I want to enforce a rule of dependency blocking in my solution, from one project to another (BC-to-BC).
The check upon the broken dependencies should be made at build and result in a compile time error.
Is there any way this can be done ? How ?